这两个参数是在样本分布分厂不均衡的时候使用。
因为决策树天生喜欢向样本分类多的一部分数据偏移,所以版本比例不均衡的时候,权重参数需要调整。
# 决策树的剪枝 让决策树最大深度是3,可分支节点的样例数是20,切分之后子节点最少包涵10个
clf_05 = DecisionTreeClassifier(criterion='gini',
random_state=30,
splitter='random',
max_depth=3,
min_samples_leaf=10,
min_samples_split=20
)
clf_05 = clf_05.fit(x_train, y_train)
score_05 = clf_05.score(x_test, y_test)
print(score_05) # 剪枝之后,分数有所提升
# 这么多的剪枝参数,如何选择呢?现在介绍一个简单的:就是使用for循环一一看图寻找
test = []
for i in range(10):
clf = tree.DecisionTreeClassifier(max_depth=i+1
,criterion="entropy"
,random_state=30
,splitter="random"
)
clf = clf.fit(x_train, y_train)
score = clf.score(x_test, y_test)
test.append(score)
plt.plot(range(1, 11), test, color="red", label="max_depth")
plt.legend()
plt.show()