【机器学习】决策树模型(个人笔记)
源代码文件请点击此处!
多样性指标
基尼杂质指数(Gini Impurity Index)
若集合中包含 个元素和 个类别,其中 个元素属于第 个类别,则:
【案例 1】{红,红,红,红,红,红,红,红,蓝,蓝}(8 个红球,2 个蓝球)
【案例 2】{红,红,红,红,蓝,蓝,蓝,黄,黄,绿}(4 个红球,2 个蓝球,2 个黄球,1 个绿球)
基尼指数越低,集合中的元素就越相似(数据集多样性越低)。
熵(Entropy)
若集合中包含 个元素和 个类别,其中 个元素属于第 个类别,则:
【案例 1】{红,红,红,红,红,红,红,红,蓝,蓝}(8 个红球,2 个蓝球)
【案例 2】{红,红,红,红,蓝,蓝,蓝,黄,黄,绿}(4 个红球,2 个蓝球,2 个黄球,1 个绿球)
熵越低,集合中的元素就越相似(数据集多样性越低)。
决策树的应用
我们所使用的数据集如下:
dataset = pd.DataFrame({
'x_0': [7, 3, 2, 1, 2, 4, 1, 8, 6, 7, 8, 9],
'x_1': [1, 2, 3, 5, 6, 7, 9, 10, 5, 8, 4, 6],
'y': [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1]})
features = dataset[['x_0', 'x_1']]
labels = dataset['y']
使用基尼指数作为划分标准的决策树如下:
decision_tree = DecisionTreeClassifier(criterion='gini')
decision_tree.fit(features, labels)
decision_tree.score(features, labels)
tree.plot_tree(decision_tree, rounded=True, feature_names=['x_0', 'x_1'], class_names=['0', '1'])
使用基尼指数作为划分标准的决策树(划分深度只到第一层)如下:
decision_tree_depth_1 = DecisionTreeClassifier(criterion='gini', max_depth=1)
decision_tree_depth_1.fit(features, labels)
decision_tree_depth_1.score(features, labels)
tree.plot_tree(decision_tree_depth_1, rounded=True, feature_names=['x_0', 'x_1'], class_names=['0', '1'])
本文作者:漫舞八月(Mount256)
本文链接:https://www.cnblogs.com/Mount256/p/18240486
版权声明:本作品采用CC 4.0 BY-SA许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了