当前位置: 首页 > news >正文

python:sklearn 决策树(Decision Tree)

5. 决策树(Decision Tree) - 第5章

算法思想:基于信息增益(ID3)或基尼不纯度(CART)递归划分特征。

编写 test_dtree_1.py  如下

# -*- coding: utf-8 -*-
""" 5. 决策树(Decision Tree) """
from sklearn.datasets import load_breast_cancer
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split# 加载 乳腺癌数据
data = load_breast_cancer()
X, y = data.data, data.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)model = DecisionTreeClassifier(criterion='entropy', max_depth=3)
model.fit(X_train, y_train)
print("Accuracy:", model.score(X_test, y_test))

Anaconda 3
运行 python test_dtree_1.py 
 Accuracy: 0.9736842105263158


编写  test_dtree_2.py  如下

# -*- coding: utf-8 -*-
""" 5. 决策树(Decision Tree) """
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn import preprocessing
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import confusion_matrix,accuracy_score
from sklearn.tree import plot_tree# 加载鸢尾花数据集
iris = datasets.load_iris()
X = iris.data
y = iris.target
f_names = iris.feature_names
t_names = iris.target_names# 数据预处理:按列归一化
X = preprocessing.scale(X)
# 切分数据集:测试集 20%
X_train,X_test,y_train,y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 初始化 决策树 分类模型
dtc = DecisionTreeClassifier()
# 模型训练
dtc.fit(X_train,y_train)
# 模型预测
y_pred = dtc.predict(X_test)
# 模型评估
# 混淆矩阵
#print(confusion_matrix(y_test,y_pred))
print("准确率: %.4f" % accuracy_score(y_test,y_pred))# 可视化决策树
plt.figure(figsize=(12,10))
plot_tree(dtc, feature_names=f_names, class_names=t_names, filled=True)
plt.show()

 运行 python test_dtree_2.py 

相关文章:

  • 当前HPLC载波无法满足全量数据分钟级采集需求的主要原因
  • 绿色版的notepad++怎么加入到右键菜单里
  • 深挖Java基础之:认识Java(创立空间/先导:Java认识)
  • 【Linux】第十四章 提高命令行效率
  • 使用 OpenCV 实现图像中心旋转
  • Nacos源码—2.Nacos服务注册发现分析三
  • DeepSeek 联手 Word,开启办公开挂模式
  • mac word接入deepseek
  • 经典算法 最长单调递增子序列
  • 第十章:CrewAI - 面向流程的多 Agent 结构化协作
  • 【分享】音频音乐剪辑[特殊字符]人声分离伴奏提取[特殊字符]拼接合并
  • KUKA机器人快速启动设置
  • MCP 架构全解析:Host、Client 与 Server 的协同机制
  • CSRF(cross-site request forgery)跨域请求访问
  • Spark 配置 YARN 模式
  • Python数据容器:数据容器的分类、数据容器特点总结、各数据容器遍历的特点、数据容器通用操作(统计,转换,排序)
  • C++ 中自主内存管理 new/delete 与 malloc/free 完全详解
  • 如何搭建spark yarn 模式的集群集群
  • 贝叶斯优化RF预测模型
  • MYSQL三大日志、隔离级别(MVCC+锁机制实现)
  • 五月院线片单:就看五一档表现了
  • 我国首部《人工智能气象应用服务办法》今天发布
  • 五一假期如何躺赚利息?来看国债逆回购操作攻略
  • 河北:开展领导干部任性用权等形式主义官僚主义问题专项整治
  • 商务部:一季度我国服务贸易较快增长,进出口总额同比增8.7%
  • 杭州一季度GDP为5715亿元,同比增长5.2%