如何在sklearn中手动更改决策树的特征值?

2024-06-09 01:16:12 发布

您现在位置:Python中文网/ 问答频道 /正文

在scikit学习中,如果我从

RandomForestClassifer().estimators_

有没有办法可以手动更改某些功能?我可以使用

^{pr2}$

但在这种情况下,我想手动更改功能。我该怎么做?在


Tags: 功能情况手动scikitestimators办法pr2randomforestclassifer
1条回答
网友
1楼 · 发布于 2024-06-09 01:16:12

如果我正确地理解了您的问题,那么您想更改随机林中决策树的参数?我不太清楚你为什么要那样做。在

我将把解决方案分成两部分

首先,我们将尝试更改决策树的参数

from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_iris

clf = DecisionTreeClassifier(random_state=0)

iris = load_iris()

clf.fit(iris.data,iris.target)
#DecisionTreeClassifier(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=False, random_state=0,
#        splitter='best')

#Now extract the parameters
parameters_dt = clf.get_params()

#Now change the parameter you want
parameters_dt['max_depth'] = 3

#Now create a new classifier
new_clf = DecisionTreeClassifier(**parameters_dt)
#DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=2,
#        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=0,
#        splitter='best')

现在让我们回到随机森林

^{pr2}$

注意:这可能没有您想要的效果。我的意思是它可能不会得到你想要的确切的分类器。在

相关问题 更多 >