scikit学习进度条



有什么方法可以为scikit learn中的fit方法设置进度条吗?

有可能把一个定制的和Pyprind一样的东西包括在内吗?

如果在调用fit之前用verbose=1初始化模型,则应该得到某种指示进度的输出。

例如,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

许多模型都支持一个详细的参数,该参数提供进度(有时还指示收敛速度)。

例如

clf = MLPClassifier(verbose=True)

(参见MLP分类器)

如果你在学习模式之外有一个循环,我推荐tqdm。

并非所有scikit学习模型都支持verbose参数

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

  • AdaBoost分类器
  • 决策树分类器
  • OneVsRestClassifier

然而,奇怪的是,ExtraTreesClassifier也属于sklearn.集成(就像AdaBoostClassifier,它确实允许它。

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

相关内容

  • 没有找到相关文章

最新更新