一.描述
决策树是一种树形结构,用于为决策提供依据。决策树的每一个节点都是可以用是或否来回答的问题,节点的分支表示一次选择(是或否),每片树叶对应一个决策。决策树通过树形结构将各种情况组合表示出来,知道所有组合都表示完毕,最终给出正确答案。决策树分类就是基于使用训练样本构建的决策树对测试样本进行分类的过程
二.实例
# 导入葡萄酒数据集模块
from sklearn.datasets import load_wine
# 导入决策树子模块
from sklearn import tree
from sklearn.model_selection import train_test_split as tsplit
from sklearn.metrics import classification_report
# 获取葡萄酒数据集和分类标签集
X, y = load_wine(return_X_y=True)
x_train, x_test, y_train, y_test = tsplit(X, y, test_size=0.1)
# 实例化决策树分类模型
m = tree.DecisionTreeClassifier()
m.fit(x_train, y_train)
precision = m.score(x_test, y_test)
print('测试集分类准确率:{:.2f}'.format(precision))
y_pred = m.predict(x_test)
report = classification_report(y_test, y_pred)
print('测试集分类结果报告:\n', report)
三.注意事项
决策树分类模型非常直观,易于理解,模型训练也不需要太多的数据。不过,决策树分类模型的稳定性比较低,因为数据中的微小变化可能会导致生成完全不同的决策树。另外,决策树分类模型容易产生一个过于复杂的模型,因此模型的泛化性不是很理想