我使用机器学习算法,例如决策树分类器,类似于这样:
from sklearn import tree
X = [[0, 0], [1, 1]]
Y = [0, 1]
clf = tree.DecisionTreeClassifier()
clf = clf.fit(X, Y)
clf.predict([[2., 2.]])如何找出所使用的参数?
发布于 2020-09-25 12:36:13
只需在定义clf之后输入它;在您的示例中,它提供:
clf
# result:
DecisionTreeClassifier(ccp_alpha=0.0, class_weight=None, criterion='gini',
max_depth=None, 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')也就是说,所有参数都有其默认值,因为您没有在定义clf = tree.DecisionTreeClassifier()中指定任何内容。
你可以得到任何算法的参数在科学工具包-学习以类似的方式。
用scikit测试-学习v0.22.2
正如Ben在下面的注释中正确指出的那样,从scikit-learn v0.23开始,我们需要首先设置显示配置,这样才能工作:
sklearn.set_config(print_changed_only=False)发布于 2020-09-25 13:21:15
您还可以使用get_params方法定义(我相信)所有科学学习模型,因为它们是从sklearn.base.BaseEstimator继承的。这使得很容易创建某些模型的新实例(尽管您也可以使用sklearn.base.clone),或者将参数保存到以后的评估中。
>>> clf.get_params()
{'ccp_alpha': 0.0, 'class_weight': None, 'criterion': 'gini', 'max_depth': None, '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'}https://datascience.stackexchange.com/questions/82217
复制相似问题