1. 决策树概述
决策树是属于有监督机器学习的一种,起源非常早,符合直觉并且非常直观,模仿人类做决策的过程,早期人 工智能模型中有很多应用,现在更多的是使用基于决策树的一些集成学习的算法。这一章我们把决策树算法理 解透彻了,非常有利于后面去学习集成学习。
1.1 示例一
我们有如下数据:
上表根据历史数据,记录已有的用户是否可以偿还债务,以及相关的信息。通过该数据,构建的决策树如下:
比如新来一个用户:无房产,单身,年收入55K ,那么根据上面的决策树,可以预测他无法偿还债务(蓝色虚 线路径)。从上面的决策树,还可以知道是否拥有房产可以很大的决定用户是否可以偿还债务,对借贷业务具 有指导意义。
1.2 示例二
女孩母亲要给她介绍对象,年龄是多少,母亲说24。长得帅吗?挺帅的。收入高吗?中等收入。是公务员吗? 母亲说,是的。女孩:好,我去见见。
根据实力构建决策树:
问题:图片是二叉树吗?决策树是标准的二叉树,每个节点只有两个分支
1.3 决策树算法特点
- 可以处理非线性的问题
- 可解释性强,没有方程系数
- 模型简单,模型预测效率高 if else
2. DecisionTreeClassifier使用
2.1 算例介绍
其中 s 、 m 和 l 分别表示小、中和大。账号是否真实跟属性: 日志密度、好友密度、是否使用真实头像 有关系 ~
2.2 构建决策树并可视化
2.2.1 导包
import numpy as np
import pandas as pd
# 决策树分类
from sklearn.tree import DecisionTreeClassifier
y = np.array(list('NYYYYYNYYN'))
print(y)
X = pd.DataFrame({'日志密度':list('sslmlmmlms'),
'好友密度':list('slmmmlsmss'),
'真实头像':list('NYYYYNYYYY'),
})
X