(三)决策树算法梳理
1、信息论基础(熵、联合熵、条件熵、信息增益、阻尼不纯度)
熵:自信息的数学期望,
联合熵:
条件熵:
信息增益:G(D,A) = H(D) - H(D|A),D:数据集,A:特征
阻尼不纯度:针对数据集,阻尼值越小,则数据集纯度越高。
2、决策树的不同分类算法(ID3算法、C4.5、CART分类树)的原理及应用场景
ID3:----分类
1、根结点,计算所有可能特征的信息增益,选择信息增益最大的特征作为结点的特征;
2、据特征的不同取值建立子结点
3、对子结点递归的调用以上方法,构建决策树
4、直到所有特征的信息增益均很小或没有特征可选择为止,即可得到一个决策树
C4.5: —分类
相较于ID3,变成用信息增益比来选择特征了。
CART:分类树+回归树
需给定输入随机变量X条件下输出随机变量Y的条件概率分布
1、假设决策树是二叉树,内部结点特征取值为“是”或“否”(左边是取“是”的分支,右边是取“否”的分支)
2、基于训练数据集生成决策树(要尽可能大)
3、用验证数据集对已经生成的树进行剪枝(标准:损失函数最小)并选择最优子树
3、回归树原理
准则:平方误差最小化
首先对训练集进行划分:递归地将每个区域划分为两个子区域且决定每个子区域上的输出值,构建二叉决策
4、决策树防止过拟合手段
剪枝处理:从已生成的树上剪掉一些叶结点或叶结点上的子树,并将其父结点或根结点作为新的叶结点,从而简化决策树,以防止过拟合5
5、模型评估
分类准确度、召回率、虚警率、精确度--------均基于混淆矩阵
6、sklearn参数详解,python绘制决策树(数据集:蘑菇集)
c参照网页:https://blog.****.net/llh_1178/article/details/78516774
必要包的导入:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import GridSearchCV
from sklearn.metrics import accuracy_score
from sklearn.metrics import roc_auc_score