Scikit-learn的拟合剩余时间

3
有没有一种方法可以在拟合模型时估计剩余时间?例如:
model = sk.ensemble.RandomForestRegressor(n_estimators=10)
model.fit(x, y)

我有一个相当大的数据集(数百万行),这需要一些时间,因此我想知道估计时间,这样我就可以做其他事情,在处理完成后回来。
使用类似随机森林的集成学习算法,估计剩余时间应该[相对]容易。
1个回答

7
尝试使用“verbose”选项。您可以将其从0(无输出)、1(每个作业更新一次)和2(每个树更新一次)更改,例如:
model = RandomForestRegressor(n_estimators=100, verbose=2, n_jobs=2).fit(X_train, y_train)

谢谢!这几乎就是我要找的!可惜时间估计只在每个作业完成后打印。有没有办法在构建每棵树后打印估计时间? - mikkom
据我所知,我认为它无法给出时间估计,因为每个人的机器速度都不同。但是,如果您知道创建一棵树需要多长时间,您可以很好地估计创建所有树所需的时间。您可以直接在他们的邮件列表中询问或在他们的GitHub页面https://github.com/scikit-learn/scikit-learn上提出新功能建议。 - ysakamoto
谢谢,我想我会这样做。我为Weka创建了类似的时间估计(计算平均树创建时间并将其投影到未创建的树),由于多线程库已经在结尾打印时间估计,所以应该非常容易。 - mikkom
卡在“正在构建第8个树形结构,共100个”处,然后长时间没有更新。 - huang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接