显示估计器的所有参数,包括默认值



我正在使用Watson Studio并使用降价笔记本。在笔记本上,我写下代码:

from sklearn.tree import DecisionTreeClassifier
Tree_Loan= DecisionTreeClassifier(criterion="entropy", max_depth = 4)
Tree_Loan

它显示

DecisionTreeClassifier(criterion='entropy', max_depth=4)

然而,它应该以以下形式显示(这来自我使用Skills Network Labs完成的另一个实验室(:

DecisionTreeClassifier(class_weight=None, criterion='entropy', max_depth=4,
max_features=None, max_leaf_nodes=None,
min_impurity_decrease=0.0, min_impurity_split=None,
min_samples_leaf=1, min_samples_split=2,
min_weight_fraction_leaf=0.0, presort=False, random_state=None,
splitter='best')

我能说的最好的一点是,它没有导入决策树分类器。我对sklearn的svm也有同样的问题。scikit学习中的其他功能,如列车测试拆分和k近邻,运行良好。一位同学说我的代码的其余部分是正确的,没有错误的原因。是什么原因造成的?

正在导入DecisionTreeClassifier,没有问题。但默认情况下,sklearn只打印该函数中给具有非默认值的估计器的参数。

但如果你想看";"满";输出时,您可以通过sklearn._config.set_configprint_changed_only的配置设置为False,如下所示:

>>> from sklearn.tree import DecisionTreeClassifier
>>> tree = DecisionTreeClassifier(criterion="entropy", max_depth=4)
>>> # only displays the changed parameters
>>> tree
DecisionTreeClassifier(criterion='entropy', max_depth=4)
>>> from sklearn._config import get_config, set_config
>>> # default setting
>>> get_config()["print_changed_only"]
True
>>> # now changing it 
>>> set_config(print_changed_only=False)
# now we get the default values, too
>>> tree
DecisionTreeClassifier(ccp_alpha=0.0, class_weight=None, criterion='entropy',
max_depth=4, max_features=None, max_leaf_nodes=None,
min_impurity_decrease=0.0, min_impurity_split=None,
min_samples_leaf=1, min_samples_split=2,
min_weight_fraction_leaf=0.0, presort='deprecated',
random_state=None, splitter='best')

最新更新