有没有办法让 scikit-learn 中的 fit 方法有进度条?
是否可以包含一个自定义的,如 Pyprind ?
如果在调用
verbose=1
之前使用 fit
初始化模型,您应该会得到某种指示进度的输出。
例如
sklearn.ensemble.GradientBoostingClassifer(verbose=1)
提供如下所示的进度输出:
Iter Train Loss Remaining Time
1 1.2811 0.71s
2 1.2595 0.58s
3 1.2402 0.50s
4 1.2263 0.46s
5 1.2121 0.43s
6 1.1999 0.41s
7 1.1876 0.39s
8 1.1761 0.38s
9 1.1673 0.37s
10 1.1591 0.36s
20 1.1021 0.29s
30 1.0511 0.27s
40 1.0116 0.25s
50 0.9830 0.22s
60 0.9581 0.19s
70 0.9377 0.16s
80 0.9169 0.14s
90 0.9049 0.12s
100 0.8973 0.10s
不幸的是,并非所有 scikit-learn 模型都允许 verbose 参数。我可以立即说这些模型不允许详细参数(可能还有更多):
但奇怪的是,ExtraTreesClassifier也属于sklearn.ensemble(就像AdaBoostClassifier),确实允许这样做。
看起来并非 sklearn.ensemble 的所有成员都共享相同的基本属性。
这是一项正在进行的工作,基本上是 scikit-learn 模型上的一种回调功能。请参阅此处