为机器学习准备数据集的正确方法是什么?

Mik*_*ike 7 python statistics machine-learning data-analysis

首先,感谢您阅读这篇文章.

在机器学习方面,我是一个菜鸟,我正在尝试使用ML对一些数据进行分类.现在我已经对有监督和无监督的学习算法做了一些基本的阅读,例如决策树,聚类,神经网络..等等.

我正在努力理解的是为ML问题准备数据集的正确整体程序.

如何为ML准备数据集以便我可以测量算法的准确性?

我目前的理解是,为了评估准确性,应该为算法提供预标记结果(来自数据集的重要子集?),以便评估预期结果与算法决策之间的差异?

如果这是正确的,那么如何预先标记大型数据集呢?我的数据集非常大,手动标记不可行.

此外,任何有关使用Python进行机器学习的提示都将非常感谢!

非常感谢您的帮助!

最好的祝福,

麦克风

Evg*_*zin 4

这是任何机器学习算法中最重要的部分。您需要构建数据集、提取、制作、缩放、标准化特征。

如果你想使用一些监督学习算法,你需要标记数据。有几种方法可以实现这一目标:

  1. 用手标记它。
  2. 使用一些无监督学习算法来标记数据。

您需要使用一些Python机器学习工具包,例如-scikit-learn。scikit-learn 包含许多有用的数据处理、特征提取和预处理工具。例如,它可以使用 DictVictorizer 对数据进行矢量化。您可以仅使用 scikit-learn 添加缺失值、缩放和标准化特征。

我建议从这里的示例开始 - http://scikit-learn.org/stable/

  • 我强烈不同意选项“2”。虽然使用半监督方法得到了一些有趣的结果(例如标记部分数据,以监督方式训练模型,然后在用模型本身标记的集合上进行训练),但以无监督方式标记是相当毫无意义的方法。如果可以找到一种无监督模型来对数据进行聚类,那么为什么我们要通过在该数据上训练另一个模型来近似该模型呢?当然,有一些场景和高级方法使用这种方法,但将其作为 ML 领域初学者的选项是完全错误的 (4认同)