机器学习-决策树

决策树

1. 简介

"""
简介
	一种树形结构
		树中每个内部节点表示一个特征的判断
		每个分支代表一个判断结果的输出
		每个叶节点代表一种分类结果
	建立过程
		1. 特征选择
			选取有较强分类能力的特征
		2. 决策树生成
			根据选择的特征生成决策树
		3. 决策树 易过拟合
			采用剪枝的方法缓解过拟合
"""

2. ID3 决策树

"""
ID3 决策树
	熵 Entropy
		信息论中代表随机变量不确定度的度量
		熵越大 数据的不确定性越高 信息越多
		熵越小 数据的不确定性越低
	信息熵
		公式
			
			其中 P(xi) 表示数据中类别出现的概率,H(x) 表示信息的信息熵值
	信息增益
		概念
			特征a对训练数据集D的信息增益 定义为集合D的熵H(D)与特征a给定条件下D的熵(H|a)之差
		公式
			
		条件熵
			
	构建流程
		1. 计算每个特征的信息增益
		2. 使用信息增益最大特征将数据集 拆分为子集
		3. 使用该特征作为决策树的一个节点
		4. 使用剩余特征对子集重复上述 1 2 3 过程
	不足
		偏向于选择种类多的特征作为分裂依据
"""

信息熵 公式
在这里插入图片描述
信息增益 公式
在这里插入图片描述

3. C4.5决策树

"""
信息增益率
	信息增益率 = 信息增益 /特征熵
	
		特征熵
			
	本质
		特征的信息增益 除以 特征的内在信息
		相当于对信息增益进行修正, 增加一个惩罚系数
		特征取值个数较多时 惩罚系数较小, 特征取值个数较少时, 惩罚系数较大
			惩罚系数: 数据集D以特征a作为随机变量的熵的倒数
"""

信息增益率 公式
在这里插入图片描述
特征熵 公式
在这里插入图片描述

4. CART决策树

"""
CART决策树
	一种决策树模型, 可以用于分类 可以用于回归
	回归树: 使用平方误差最小化策略
		预测输出的是一个连续值
			采用叶子节点里均值作为预测输出
	分类生成树: 采用基尼指数最小化策略
		预测输出的是一个离散值
			采用叶子节点多数类别作为预测类别
	基尼值
		从数据集D中随机抽取两个样本,其类别标记不一致的概率
			
		Gini(D)值越小,数据集D的纯度越高
	基尼指数
		选择使划分后基尼系数最小的属性作为最优化分属性
			
		特殊说明
			信息增益(ID3)、信息增益率值越大(C4.5),则说明优先选择该特征
			基尼指数值越小(CART),则说明优先选择该特征

"""
# 1.导入依赖包
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import classification_report
import matplotlib.pyplot as plt
from sklearn.tree import plot_tree


def titanicCase():
    # 2.读数据到内存并预处理
    # 2.1 读取数据
    taitan_df = pd.read_csv("./data/titanic/train.csv")
    print(taitan_df.head())  # 查看前5条数据
    print(taitan_df.info)  # 查看特性信息
    # 2.2 数据处理,确
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值