【问题标题】:How to make prediction with single sample in sklearn model.predict?如何在 sklearn model.predict 中使用单个样本进行预测?
【发布时间】:2019-11-05 03:17:52
【问题描述】:

我用一些数据训练了一个逻辑回归模型。 我应用标准标量来训练和测试数据,训练模型。 但是,如果我想用训练数据和测试数据之外的数据对模型进行预测,我必须将标准标量应用于新数据,但是如果我有单个数据,我不能将标准标量应用于我想要的新单个样本作为输入。 使用新数据(尤其是一次单个样本)预测结果的程序应该是什么?

【问题讨论】:

  • 请提供最少的可重现代码以及错误或预期结果。

标签: scikit-learn logistic-regression


【解决方案1】:

predict() 方法总是需要一个形状为[n_samples, n_features] 的二维数组。这意味着,如果您想对单个数据点进行预测,则必须将其转换为二维数组。

使用 reshape 将数据转换为二维数组

# Sample data
print(arr)
[1, 2, 3, 4]

# Reshaping into 2D
arr.reshape(1, -1)

# Result
array([[1, 2, 3, 4]])

现在可以使用标准标量使用transform() 方法转换此数组,然后再用于从模型生成预测。

【讨论】:

  • 将标准标量应用于重构后的数组后,每个元素都变为零。
  • 您只在训练数据上使用了fit()fit_transform()。对于您的测试数据和单个样本,请仅使用transform() mtehod。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-21
  • 1970-01-01
  • 1970-01-01
  • 2020-04-11
  • 2017-08-10
  • 2021-07-07
  • 2018-03-23
相关资源
最近更新 更多