文章目录
本文属于我的机器学习/深度学习系列文章,点此查看系列文章目录
前言
之前学习决策树的时候写过一篇关于决策树原理的文章,包含决策树的基本概念,ID3
,C4.5
,cart
算法和决策树的代码实现等,具体见决策树:ID3&C4.5&cart算法(从原理到实现-小白教程超详细)。
本文重点将放在对于决策树的实际应用上(对实际数据做分类)和如何提升决策树的性能(参数选择),在此基础上运用随机森林,对比两者的使用效果,总结经验。
一、决策树的分类思想
前面的链接对于决策树的具体原理已经有了充分的说明和样例了,这里简单总结用决策树做分类时的思想。
二、决策树使用Demo
一个简单使用sklearn
决策树的例子,主要步骤包含:
2.1 导入必要库
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.tree import DecisionTreeClassifier
from sklearn import tree
import graphviz # 用于可视化决策树
2.2 创建样本数据点和可视化
X = np.array([[-1, -2], [-2, -1], [-3, -2], [1, 3], [2, 1], [3, 2]])
y = np.array([0, 1, 0, 1, 0, 1])
# 可视化样本数据点
fig = plt.figure(figsize=(6,5))
plt.scatter(X[:,0],X[:,1],c=y,s=50,cmap='viridis')
plt.show()
2.3 创建决策树实例,训练模型并可视化决策树