sklearn:拟合RandomForestClassifier或用数据块对数据进行规范化

时间:2017-06-23 05:53:15

标签: python scikit-learn

我有一个包含训练数据的大文件。我很担心,当我使用这段代码时:

clf = RandomForestClassifier()
for chunk in reader:
    clf.fit(chunk, target)

clf会为所有块生成模型还是只生成当前模型?对于增量学习,我应该只使用带有partial_fit()方法的分类器吗?我应该如何规范化列车数据(以这种方式为整个数据构建规范化器,不仅仅是当前的块)?

2 个答案:

答案 0 :(得分:0)

是的,这只适用于partial_fit的分类器;根据您的规范化程度,您可以逐块执行此操作(例如scaling by a fixed factor或执行label encoding)。

答案 1 :(得分:0)

是的,对于增量学习,您只能使用实现partial_fit的分类器。

StandardScaler有partial_fit方法,因此可以在线应用。我不确定这是否是正确的方法,因为转型会随着时间的推移而改变。如果您不希望数据分布发生很大变化,您还可以在数据子集上放置任何缩放器,并在以后使用它。

另请注意,RandomForestClassifier(与所有基于树的分类器一样)是规模不变的,因此不清楚标准化对它有什么影响。