scikit-learn 的进度条?

问题描述 投票:0回答:4

有没有办法让 scikit-learn 中的 fit 方法有进度条?

是否可以包含一个自定义的,如 Pyprind

scikit-learn
4个回答
111
投票

如果在调用

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

51
投票

许多模型都支持冗长的论证,从而带来进展(有时还表明收敛速度)。

例如

clf = MLPClassifier(verbose=True)

参见MLP分类器

如果您在学习模型之外有循环,我建议tqdm


23
投票

并非所有 scikit-learn 模型都支持详细参数

不幸的是,并非所有 scikit-learn 模型都允许 verbose 参数。我可以立即说这些模型不允许详细参数(可能还有更多):

但奇怪的是,ExtraTreesClassifier也属于sklearn.ensemble(就像AdaBoostClassifier),确实允许这样做。

看起来并非 sklearn.ensemble 的所有成员都共享相同的基本属性。


0
投票

这是一项正在进行的工作,基本上是 scikit-learn 模型上的一种回调功能。请参阅此处

© www.soinside.com 2019 - 2024. All rights reserved.