IV.分类算法--决策树
最编程
2024-07-10 17:47:05
...
目录
1、认识决策树
2、决策树分类原理详解
3、信息论基础
3.1 信息
3.2 信息的衡量 - 信息量 - 信息熵
3.3 决策树划分的依据 - 信息增益
3.4 案例
4、决策树API
5、案例:用决策树对鸢尾花进行分类
6、决策树可视化
7、总结
8、案例:泰坦尼克号乘客生存预测
8.1 流程分析
- sklearn转换器和估算器
- KNN算法
- 模型选择和调优
- 朴素贝叶斯算法
- 决策树
- 随机森林
1、认识决策树
如何高效的进行决策?
特征的先后顺序
2、决策树分类原理详解
已知 四个特征值 预测 是否贷款给某个人
- 先看房子,再工作 -> 是否贷款 只看了两个特征
- 年龄,信贷情况,工作 看了三个特征
3、信息论基础
3.1 信息
香农:消除随机不定性的东西
- 小明 年龄“我今年18岁”- 信息
- 小华”小明明年19岁”-不是信息
3.2 信息的衡量 - 信息量 - 信息熵
3.3 决策树划分的依据 - 信息增益
3.4 案例
4、决策树API
5、案例:用决策树对鸢尾花进行分类
def decision_iris():
# 用决策树对鸢尾花进行分类
# 1、获取数据集
iris = load_iris()
# 2、划分数据集
x_train,x_test,y_train,y_test = train_test_split(iris.data,iris.target,random_state=22)
# 3、决策树预估器
estimator = DecisionTreeClassifier(criterion="entropy")
estimator.fit(x_train,y_train)
# 4、模型评估
# 方法1 :直接比对真实值和预测值
y_predict = estimator.predict(x_test)
print("y_predict:\n", y_predict)
print("直接比对真实值和预测值:\n", y_test == y_predict)
# 方法2:计算准确率
score = estimator.score(x_test, y_test)
print("准确率为:\n", score)
return None
if __name__ == "__main__":
# 代码4:用决策树对鸢尾花进行分类
decision_iris()
6、决策树可视化
- 导入 from sklearn.tree import DecisionTreeClassifier,export_graphviz
- 可视化决策树 export_graphviz(estimator,out_file="iris_tree.dot")
- 生存.dot文件,打开复制到网址http://webgraphviz.com/
from sklearn.datasets import load_iris, fetch_20newsgroups
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.naive_bayes import MultinomialNB
from sklearn.neighbors import KNeighborsClassifier
from sklearn.preprocessing import StandardScaler
from sklearn.tree import DecisionTreeClassifier,export_graphviz
def decision_iris():
# 用决策树对鸢尾花进行分类
# 1、获取数据集
iris = load_iris()
# 2、划分数据集
x_train,x_test,y_train,y_test = train_test_split(iris.data,iris.target,random_state=22)
# 3、决策树预估器
estimator = DecisionTreeClassifier(criterion="entropy")
estimator.fit(x_train,y_train)
# 4、模型评估
# 方法1 :直接比对真实值和预测值
y_predict = estimator.predict(x_test)
print("y_predict:\n", y_predict)
print("直接比对真实值和预测值:\n", y_test == y_predict)
# 方法2:计算准确率
score = estimator.score(x_test, y_test)
print("准确率为:\n", score)
# 可视化决策树
export_graphviz(estimator,out_file="iris_tree.dot",feature_names=iris.feature_names)
return None
if __name__ == "__main__":
# 代码4:用决策树对鸢尾花进行分类
decision_iris()
7、总结
8、案例:泰坦尼克号乘客生存预测
8.1 流程分析
- 获取数据
- 数据处理
- 缺失值处理
- 特征值 -> 字典类型
- 准备好特征值、目标值
- 划分数据集
- 特征工程:字典特征抽取
- 决策树预估器流程
- 模型评估
上一篇: 服务器数据恢复] Ext3 文件系统硬盘坏道跌落数据恢复案例
下一篇: 清单对象
推荐阅读
-
机器学习 Python 实践 - 第 3 章 - 分类问题 - 2. Logistic 回归算法 - 3.2.3 实践
-
华为 OD 机测试 - 最长回声字符串 - 贪婪算法(Python/JS/C/C++ 2024 年 E 卷 100 分) - IV.测试案例
-
[数据结构与算法] 算法与算法分析 - IV.算法效率指标
-
[机器学习] 任务 6:分类算法(支持向量机 (SVM) 在线性可分和不可分数据中的应用及可视化分析)
-
ML之LoR&Bagging&RF:依次利用LoR、Bagging、RF算法对泰坦尼克号数据集 (Kaggle经典案例)获救人员进行二分类预测(最全)
-
用C均值聚类算法在Excel中轻松处理和分类数据(详解+Python代码示例)
-
简单易懂!一文带你了解机器学习:包括哪些算法、分类及实际应用,让你轻松掌握
-
PHP里的无限级分类递归算法详解
-
决策树(ID3、C4.5、C5.0、CART 算法)和条件推理决策树 R 语言实现
-
ENVI 扩展工具:基于 CART 算法-安装方法的自动决策树分类: