11决策树算法;12案例实战:使用sklearn构造决策树模型(含数据)

唐宇迪《python数据分析与机器学习实战》学习笔记
11决策树算法

第一部分:算法

1.1 算法概述

例如:将家里人分类,可以先分年龄再分性别
在这里插入图片描述
决策树组成:根节点,非叶子节点与分支,叶子节点。
在这里插入图片描述
越多的特征越多的节点,每多一个特征,深度越深
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2 特征选择顺序的衡量标准-熵值

在这里插入图片描述
信息增益率: = H(X前) - H(X后),以某特征划分数据集前后的熵的差值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择信息增益率最大的为根节点
在这里插入图片描述
GINI系数

表示在样本集合中一个随机选中的样本被分错的概率,Gini指数越小表示集合中被选中的样本被分错的概率越小,也就是说集合的纯度越高,反之,集合越不纯.样本被选中的概率 * 样本被分错的概率
在这里插入图片描述
在这里插入图片描述

1.3 决策树减枝策略

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Cα(T)“母节点”的叶子节点数熵值或GINI系数,C(T)表示当前的损失(叶子节点数熵值或GINI系数,然后所有叶子累加),后部分限制叶子节点个数。 比较等号两边,越小越好看是否切掉。以上图左侧倒数第二排的X[0]为例:不切就是【0.042546+α】,切了就是【70.2449+39*0+2α】,通过设定α来决定是否减。

第二部分:简单案例

2.1 数据导入及查看

导入库

%matplotlib inline
import matplotlib.pyplot as plt
import pandas as pd

从sklearn中导入模块,里面包含一些内置的数据集,这里导入某地区房价(包含一些影响房价的因素),这里主要是想用这些因素去预测房价,具体特征如下所示。

from sklearn.datasets.california_housing import fetch_california_housing
housing = fetch_california_housing()
print(housing.DESCR)

在这里插入图片描述
数据观察

housing.data.shape

(20640, 8)

housing.data[0]

array([ 8.3252 , 41. , 6.98412698, 1.02380952, 322. , 2.55555556, 37.88 , -122.23 ])

2.2 决策树建立、展示及预测

2.2.1 训练决策树

这里只用里面的**经度纬度(Latitude,Longitude)**信息来预测
从sklearn里面导入tree模块,进行分类也可以,进行回归也可以。

from sklearn import tree
dtr = tree.
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值