基于决策树的分类预测

**

1.什么是决策树?

决策树是一种非常基础又常见的机器学习模型。一棵决策树(Decision Tree)是一个树结构(可以是二叉树或非二叉树),每个非叶节点对应一个特征,该节点的每个分支代表这个特征的一个取值,而每个叶节点存放一个类别或一个回归函数。使用决策树进行决策的过程就是从根节点开始,提取出待分类项中相应的特征,按照其值选择输出分支,依次向下,直到到达叶子节点,将叶子节点存放的类别或者回归函数的运算结果作为输出(决策)结果。决策树的决策过程非常直观,容易被人理解,而且运算量相对小。它在机器学习当中非常重要。如果要列举“十大机器学习模型”的话,决策树应当位列前三。
以下是决策树的一个例子:

基于决策树的分类预测_第1张图片

2.决策树的应用

由于决策树模型中自变量与因变量的非线性关系以及决策树简单的计算方法,使得它成为集成学习中最为广泛使用的基模型。梯度提升树(GBDT),XGBoost以及LightGBM等集成模型都采用了决策树作为基模型。他的几种常用算法包括:
1.ID3算法:核心是以信息增益为度量,选择分裂后信息增益最大的特征进行分裂。
2.C4.5算法,是在.ID3算法上进行改进。
3.CART算法:它不仅可以用来做分类,还可以用来做回归。

**

3.例子演示

## 基础函数库
import numpy as np
## 导入画图库
import matplotlib.pyplot as plt
import seaborn as sns
## 导入决策树模型函数
from sklearn.tree import DecisionTreeClassifier
from sklearn import tree
##Demo演示LogisticRegression分类
## 构造数据集
x_fearures = np.array([[-1, -2], [-2, -1], [-3, -2], [1, 3], [2, 1], [3, 2]])
y_label = np.array([0, 1, 0, 1, 0, 1])
## 调用逻辑回归模型
tree_clf = DecisionTreeClassifier()
## 用逻辑回归模型拟合构造的数据集
tree_clf = tree_clf.fit(x_fearures, y_label)
## 可视化构造的数据样本点
plt.figure()
plt.scatter(x_fearures[:,0],x_fearures[:,1], c=y_label, s=50, cmap='viridis')
plt.title('Dataset')
plt.show()

结果为:基于决策树的分类预测_第2张图片

你可能感兴趣的:(机器学习)