决策树算法测试代码 决策树代码实现( 三 )


特性要害性
分门别类树的便宜之一是,它们对立容易证明 。鉴于scikit-learn的分门别类树不妨计划出特性的要害性,即在给定特性上分割而引导基尼指数或熵减小的总量 。Scikit-learn对每个特性输入一个0和1之间的数值 。一切特性的要害性之和为1 。下列代码展现了在计划树模子中每个特性的要害性 。
importances = pd.DataFrame({'feature':X_train.columns,'importance':np.round(clf.feature_importances_,3)})importances = importances.sort_values('importance',ascending=False)在上述例子中(iris的某个一定的演练集尝试集分别),花瓣宽窄的特性要害性权重更高 。咱们不妨经过查看相映的计划树来确认 。
这个计划树仅鉴于两个特性举行分割,辨别是花瓣宽窄(单元:cm)和花瓣长度(单元:cm)
请提防,即使一个特性的要害性分值较低,也并不表示着这个特性对猜测而言不要害,不过证明在树的较早阶段,它未被采用到 。该特性也大概与另一个消息量较高的特性实足沟通或莫大关系 。特性要害性值不许证明它们对哪个类型具备很好的猜测性,也不会证明大概感化猜测的特性之间的联系 。要提防的是,在举行穿插考证或一致的考证时,不妨运用来自各别演练集尝试集分别的特性要害性值的平衡值 。

推荐阅读