【问题标题】:What is the input format for sk-learn classifiers?sk-learn 分类器的输入格式是什么?
【发布时间】:2018-09-09 02:13:03
【问题描述】:

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

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

【问题讨论】:

  • numpypandassk-learn 参考在这里。您可以按照他们的教程开始检查和学习。 sk-learn 分类器对不同的算法有不同的要求。
  • @Prateek 您如何阅读“是否有参考规范”并得出结论认为我是在征求意见?
  • @HarvIpan 是的,埋在这数百页的某处肯定是我问题的答案。如果您知道它在哪里,请随时发布特定链接。
  • @Prateek 实际上 sk-learn 分类器都使用一个通用接口,因此只需要记录一种格式。

标签: python-3.x numpy machine-learning scikit-learn


【解决方案1】:

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

ind feat1   feat2
0   2   1
1   1   2

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

如果您使用分类学习,则 y 需要与 X 一样多的行。

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

import sklearn.datasets
X,y = sklearn.datasets.load_boston(return_X_y=True)
X.shape[0] == y.shape[0]

输出

True

【讨论】:

    猜你喜欢
    • 2019-05-22
    • 1970-01-01
    • 1970-01-01
    • 2019-07-17
    • 2012-08-19
    • 2019-06-09
    • 1970-01-01
    • 2014-10-01
    • 2015-06-09
    相关资源
    最近更新 更多