sk-learn 分类器的输入格式是什么?

use*_*571 0 numpy machine-learning python-3.x scikit-learn

我对 scikit 和 numpy/pandas 都很陌生,但我总体上熟悉 Python 和数据处理。我对 sk-learn 分类器的输入应该是什么格式感到困惑。我尝试使用调试器来检查 sk-learn 教程示例中使用的示例矩阵,但它们有大量成员,我无法弄清楚哪些是数据,哪些是派生的。

是否有参考规范解释数组必须是什么样子以及如何构造它才能使其成为 sk-learn 分类器的有效输入?

pyt*_*833 5

Sklearn 期望您的特征矩阵X具有以下形式:

ind feat1   feat2
0   2   1
1   1   2
Run Code Online (Sandbox Code Playgroud)

您可以使用 pandas Dataframes 或 numpy 数组作为输入。

如果您使用分类学习,则y需要有尽可能多的行X

您可以从 sklearn 加载数据集,并检查矩阵的维度和形状,因为它们已经适合与问题相关的算法(在这种情况下,它将是一个监督回归问题):

import sklearn.datasets
X,y = sklearn.datasets.load_boston(return_X_y=True)
X.shape[0] == y.shape[0]
Run Code Online (Sandbox Code Playgroud)

输出

True
Run Code Online (Sandbox Code Playgroud)