【问题标题】:'verbose' argument in scikit-learnscikit-learn 中的“冗长”参数
【发布时间】:2015-07-11 18:42:58
【问题描述】:
许多 scikit-learn 函数都有一个 verbose 参数,根据他们的文档,“[c] 控制详细程度:越高,消息越多”(例如,GridSearchCV)。
很遗憾,没有提供关于允许使用哪些整数(例如,用户可以将详细程度设置为 100 吗?)以及哪些详细程度对应于哪些整数的指导。我在文档中的任何地方都找不到此信息。
我的问题是,哪些整数映射到哪些详细程度?
【问题讨论】:
标签:
python
arguments
scikit-learn
verbosity
verbose
【解决方案1】:
正如文档字符串所说,更高的整数映射到更高的详细程度。您可以设置详细度=100,但我很确定它与详细度=10 相同。如果您正在寻找每个整数的每个估计器的确切打印内容列表,您必须查看源代码。
我认为大多数估算器只有两个或三个级别的详细程度,我认为 3 或更高级别将是您可以获得的最详细程度。
【解决方案2】:
可能有点晚了,但由于我在设置 GridSearch 时偶然发现了同样的问题,所以我在子模块 sklearn\externals\joblib\parallel.py 最深处的文档字符串中发现了这个问题:
"详细级别:如果非零,则打印进度消息。超过 50,输出发送到标准输出。消息的频率随着详细级别的增加而增加。如果超过 10,则所有迭代都是举报了。”
此外,Glossary(搜索“详细”)这样说:
"目前在 Scikit-learn 中对 Logging 的处理不是很一致,但是当它作为一个选项提供时,verbose 参数通常可以选择不记录(设置为 False)。任何 True 值都应该启用一些日志记录,但可能需要更大的整数(例如 10 以上)来获得完整的详细信息。详细日志通常打印到标准输出。使用默认详细设置,估算器不应在标准输出上产生任何输出。"