import numpy as np # 导入numpy库
import random # 导入random库
from sklearn import tree # 从sklearn库中导入决策树模块
from sklearn.linear_model import LinearRegression
from graphviz import Source # 从graphviz库中导入Source类
#1. 准备数据集
np.random.seed(42) # 设置numpy的随机数生成器的种子
X = np.random.randint(10, size=(100, 4)) # 生成一个100行4列的随机整数数组(>=10),作为特征数据
Y = np.random.randint(2, size=100) # 生成一个包含100个元素的随机整数数组(>=2),作为标签数据
a = np.column_stack((Y, X)) # 将标签和特征数据垂直堆叠
print(a.size)
print(a)
#2. 模型训练
# 创建决策树分类器,使用基尼系数作为分裂准则,最大深度为3
clf = tree.DecisionTreeClassifier(criterion='gini', max_depth=3)#cart模型
# 使用特征数据和标签数据训练决策树模型
result = clf.fit(X, Y)
# 3. 可视化
# 将训练好的决策树模型导出为Graphviz格式的源代码,并创建Source对象
# result1 = tree.export_graphviz(result, out_file=None)
# graph = Source(result1)
graph = Source(tree.export_graphviz(result,out_file=None))
# 设置生成的图像格式为PNG
graph.format = 'png'
# 将Source对象渲染为PNG图像,并自动打开查看
graph.render('cart_tree', view=True)
相关文章
- 12-13【机器学习算法】——决策树:CART-完整代码
- 12-13【机器学习算法】——逻辑回归-代码
- 12-13机器学习(三)——决策树(附核心思想、重要算法、概念(信息熵、基尼指数、剪枝处理)及Python源码)
- 12-13机器学习-04-分类算法-01决策树
- 12-13C#,人工智能,机器学习,聚类算法,训练数据集生成算法、软件与源代码
- 12-13机器学习——决策树剪枝算法
- 12-13python机器学习(四)分类算法-决策树
- 12-13机器学习代码实战——决策树(预测泰坦尼号船员生存情况)
- 12-13Python机器学习(三)--决策树算法
- 12-13ML之模型评价指标(损失函数):基于不同机器学习框架(sklearn/TF)下算法的模型评估函数(Scoring/metrics)集合(仅代码实现)