一、思维导图

随机森林重要性排序matlab 随机森林重要性排序图_随机森林重要性排序matlab

二、补充笔记

分类决策树的最优属性选择方法:信息增益(ID3采用),信息增益与信息增益率结合(C4.5采用),基尼系数(CART采用)。

(1)信息增益

设当前样本集合D中第k类样本所占的比例为pk (k = 1,2,….n),则D的信息熵为:

随机森林重要性排序matlab 随机森林重要性排序图_随机森林重要性排序matlab_02

熵越小,数据纯度越高。

如果离散属性aV个可能的取值,使用a对样本D进行划分,则产生V个分支结点,其中第v个分支结点所包含的数据记为Dv,可以计算的Dv熵,然后根据每个分支结点的数据量给每个分支结点分配一定的权重,那么可以计算出用属性a对样本集D进行划分的信息增益为:

随机森林重要性排序matlab 随机森林重要性排序图_信息增益_03

ID3决策树的学习算法以信息增益作为准则来选择划分属性。

(2)信息增益率

信息增益偏爱属性取值多的属性(既V比较大的属性),那么为了降低这种情形的影响,在计算信息增益的时候,要给V比较小的属性赋予较大的权值,或者给V比较大的属性赋予较小的权值。

随机森林重要性排序matlab 随机森林重要性排序图_随机森林重要性排序matlab_04

一般而言,V越大,IV(a)也会越大但是,如果只采用信息增益率作为划分的标准,那么它对属性少的就有所偏好。所以,C4.5使用的是,先从候选划分属性中,找出信息增益高于平均水平的属性,再从中选择信息增益率最高的。

(3)基尼指数

随机森林重要性排序matlab 随机森林重要性排序图_人工智能_05

基尼系数反映了从数据集D中,随机抽取出两个样本,其类别标记不一致的概率。基尼指数越小,数据纯度越高。

随机森林重要性排序matlab 随机森林重要性排序图_决策树_06

CART决策树使用“基尼指数”来选择划分属性。

(4)随机森林的构造方法:

以CART决策树作为基学习器。

1、  重采样

对数据集D进行T次有放回的采样,每次采样m个样本,(m的大小和D中样本的数量相等)。这样就生成了T个采样集。

2、 随机选择一部分特征作为训练特征

使用第t个采样集训练第t个决策树模型,在训练时,特征选取第t个采样集的一部分特征。

3、分类场景下,T个决策树进行投票,少数服从多数。回归场景,对T个决策树的结果进行算数平均。



三、sklern代码

(1)决策树,sklearn中采用的CART决策树(二叉树的数据结构成熟)


from sklearn import tree
clf = tree.DecisionTreeClassifier(criterion='entropy',max_depth=100)
clf = clf.fit(features.values,label.values)

(2)计算准确率

from sklearn.metrics import accuracy_score
accuracy_score(label.values, yp)

(3)回归树

rgs = tree.DecisionTreeRegressor(max_depth=4)
rgs = rgs.fit(boston_features, boston_target)

(4)随机森林

rgs = RandomForestRegressor(n_estimators=15)
rgs = rgs.fit(boston_features, boston_target)



四、参考书目

周志华,机器学习