用于分类的决策树

Python 树模型机器学习

Elie Kawerk

Data Scientist

课程概览

  • 第 1 章:分类与回归树(CART)

  • 第 2 章:偏差-方差权衡

  • 第 3 章:Bagging 与随机森林

  • 第 4 章:Boosting 提升法

  • 第 5 章:模型调优

Python 树模型机器学习

分类树

  • 关于各个特征的一系列 if-else 问题。

  • 目标:推断类别标签。

  • 能捕捉特征与标签间的非线性关系。

  • 不需特征缩放(如标准化等)。

Python 树模型机器学习

二维乳腺癌数据集

BC2D

Python 树模型机器学习

决策树示意图

CART-rep

Python 树模型机器学习

scikit-learn 中的分类树

# 导入 DecisionTreeClassifier
from sklearn.tree import DecisionTreeClassifier
# 导入 train_test_split
from sklearn.model_selection import train_test_split
# 导入 accuracy_score
from sklearn.metrics import accuracy_score

# 将数据集切分为 80% 训练集、20% 测试集 X_train, X_test, y_train, y_test= train_test_split(X, y, test_size=0.2, stratify=y, random_state=1)
# 实例化 dt dt = DecisionTreeClassifier(max_depth=2, random_state=1)
Python 树模型机器学习

scikit-learn 中的分类树

# 将 dt 拟合到训练集
dt.fit(X_train,y_train) 

# 预测测试集标签
y_pred = dt.predict(X_test)

# 评估测试集准确率 accuracy_score(y_test, y_pred)
0.90350877192982459
Python 树模型机器学习

决策区域

决策区域:特征空间中被分配到同一类别标签的区域。

决策边界:分隔不同决策区域的边界面。

DR

Python 树模型机器学习

决策区域:CART vs. 线性模型

LRvsDT

Python 树模型机器学习

让我们来练习!

Python 树模型机器学习

Preparing Video For Download...