Python中决策树的节点分裂策略和分裂条件
节点分裂策略:
决策树中的节点分裂有两种策略:
-
CART算法:采用二分法,将特征空间划分为两部分。
-
ID3算法:采用多分法,在特征空间上选择最优特征并将其离散化,将特征空间划分成多部分。
分裂条件:
节点分裂条件主要有两个方面:
-
特征选择度量:包含信息增益、信息增益比、基尼指数等,其目的是衡量特征选择的好坏。
-
停止条件:当达到树的最大深度时,或者当前节点样本数量小于某个阈值,或者样本集的所有样本属于同一类别时,就停止生长子树。
代码演示
下面是一个简单的决策树代码示例,使用鸢尾花数据集实现分类任务:
from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import train_test_split from sklearn import metrics # 加载数据集 iris = load_iris() x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=42) # 初始化决策树模型 clf = DecisionTreeClassifier() # 训练模型 clf.fit(x_train, y_train) # 预测 y_pred = clf.predict(x_test) # 评估模型 accuracy = metrics.accuracy_score(y_test, y_pred) print("Accuracy:", accuracy)
输出结果为:
Accuracy: 1.0
这说明我们的决策树模型在测试集上的精度达到了100%。
相关文章