机器学习算法之--决策树
决策树学习通常包括3个步骤:特征选择,决策树生成,决策树修剪。 决策树的一个重要性质: 路径是互斥且完备的。 决策树通常是递归的选择最优特征,根据该特征对数据进行分割。可能会有过拟合问题,所以在生成决策树之后要进行剪枝。 1. 特征选择 数据集会有很多各种各样的特征,怎么选取最优的特征,最具分类能力的特征,排除无关影响? 通常特征选择的准则是信息增益或信息增益比 最大的。 信息增益:表示得知特征X的信息之后,使类Y的信息的不确定性减少的程度。 熵:是表示随机变量不确定性的度量,不确定性越大,熵的值就越大。 H(p) = -∑p i logp i 这是对整个数据类的熵,不是单个特征的。 H(Y|X) = ∑p i H(Y|X=x i ) 条件熵:在X给定的条件下,Y的不确定性。如果X特征只有一个取值,就不用最外面的求和了。(该特征可以舍弃,说明无用) 所以: 信息增益(互信息):g(Y,X) = H(Y) - H(Y|X) ----可能会存在偏向于选择取值较多的特征的问题,使用信息增益比校正。 信息增益比: g R (Y,X) = (H(Y) - H(Y|X)) / H(X) --H(X): 是训练数据集中特征X的熵 2. 决策树生成 2.1 ID3算法 输入:训练数据集D,特征集A,阈值e; 输出:决策树T 1. 若D中所有实例属于同一类C k ,则T为单节点树