我刚开始使用scikit和numpy/pandas,但我对Python和数据处理有一定的了解。我对sk-learn分类器的输入格式感到困惑。我尝试使用调试器来检查sk-learn教程示例中使用的示例矩阵,但它们包含大量成员,我无法区分哪些是数据,哪些是派生出来的。
有没有某个参考规格说明了数组应该是什么样子,以及如何构造它才能成为sk-learn分类器的有效输入?
回答:
Sklearn期望你的特征矩阵X
具有以下形式:
ind feat1 feat20 2 11 1 2
你可以使用pandas数据框或numpy数组作为输入。
如果你使用的是分类学习,那么y
需要与X
具有相同数量的行。
你可以从sklearn加载数据集,并检查矩阵的维度和形状,因为它们已经适合问题相关的算法(在这种情况下,它将是一个监督回归问题):
import sklearn.datasetsX,y = sklearn.datasets.load_boston(return_X_y=True)X.shape[0] == y.shape[0]
输出
True