我想使用 warm_start
参数将训练数据添加到我的随机森林分类器中。我希望它像这样使用:
clf = RandomForestClassifier(...)
clf.fit(get_data())
clf.fit(get_more_data(), warm_start=True)
但是 warm_start
参数是构造函数参数。那么我会做这样的事情吗?
clf = RandomForestClassifier()
clf.fit(get_data())
clf = RandomForestClassifier (warm_start=True)
clf.fit(get_more_data)
这对我来说毫无意义。对构造函数的新调用不会丢弃以前的训练数据吗?我想我错过了什么。
原文由 zoran119 发布,翻译遵循 CC BY-SA 4.0 许可协议
的基本模式(取自 Miriam 的回答):
将是正确的 API 用法。
但是这里有一个问题。
正如文档所说:
这意味着,唯一能为您做的事情
warm_start
是添加新的决策树。以前所有的树似乎都没有动过!让我们用 一些来源 来检查一下:
这基本上告诉我们,在接近新拟合之前,您需要增加估算器的数量!
我不知道 sklearn 在这里期望什么样的用法。我不确定,如果拟合、增加内部变量并再次拟合是正确的用法,但我以某种方式怀疑它(特别是因为
n_estimators
不是公共类变量)。你的基本方法(关于这个库和这个分类器)可能不是你在这里的核外学习的好主意!我不会进一步追求这个。