分类树学习

Python 树模型机器学习

Elie Kawerk

Data Scientist

决策树的构成要素

  • 结构:由节点层级组成的决策树。

  • 节点:提出问题或给出预测。

Python 树模型机器学习

决策树的构成要素

三类节点:

  • 根:无父节点,提出问题并产生两个子节点。

  • 内部节点:一个父节点,提出问题并产生两个子节点。

  • 叶:一个父节点,无子节点 → 预测。

Python 树模型机器学习

预测

已标注的决策树

Python 树模型机器学习

信息增益(IG)

信息增益示意图

Python 树模型机器学习

信息增益(IG)

IG 公式

度量节点不纯度的准则 $I (node)$:

  • Gini 指数,
  • 熵。 ...
Python 树模型机器学习

分类树学习

  • 递归生长节点。

  • 在每个节点,按以下方式划分数据:

    • 特征 $f$ 与分割点 $sp$,使 $IG(\text{node})$ 最大。
  • 若 $IG (\text{node})$ = 0,则将该节点设为叶节点。

    ...

Python 树模型机器学习
# Import DecisionTreeClassifier
from sklearn.tree import DecisionTreeClassifier
# Import train_test_split
from sklearn.model_selection import train_test_split
# Import accuracy_score
from sklearn.metrics import accuracy_score
# Split dataset into 80% train, 20% test
X_train, X_test, y_train, y_test= train_test_split(X, y, 
                                                   test_size=0.2, 
                                                   stratify=y,
                                                   random_state=1)
# Instantiate dt, set 'criterion' to 'gini'
dt = DecisionTreeClassifier(criterion='gini', random_state=1)
Python 树模型机器学习

scikit-learn 中的信息准则

# Fit dt to the training set
dt.fit(X_train,y_train)

# Predict test-set labels
y_pred= dt.predict(X_test)

# Evaluate test-set accuracy
accuracy_score(y_test, y_pred)
0.92105263157894735
Python 树模型机器学习

Passons à la pratique !

Python 树模型机器学习

Preparing Video For Download...