【Python机器学习】决策树——树的特征重要性

利用一些有用的属性来总结树的工作原理,其中最常用的事特征重要性,它为每个特征树的决策的重要性进行排序。对于每个特征来说,它都是介于0到1之间的数字,其中0代表"根本没有用到",1代表"完美预测目标值"。特征重要性的求和为1。

将特征重要性进行可视化:

python 复制代码
import mglearn.datasets
import numpy as np
from sklearn.tree import DecisionTreeClassifier,export_graphviz
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
from sklearn.datasets import load_breast_cancer


def plot_importances(model):
    n_feature=cancer.data.shape[1]
    plt.barh(range(n_feature),model.feature_importances_,align='center')
    plt.yticks(np.arange(n_feature),cancer.feature_names)
    plt.xlabel('特征重要性')
    plt.ylabel('特征')

plt.rcParams['font.sans-serif'] = ['SimHei']

cancer=load_breast_cancer()
X_train,X_test,y_train,y_test=train_test_split(
    cancer.data,cancer.target,stratify=cancer.target,random_state=42
)
tree=DecisionTreeClassifier(max_depth=4,random_state=0)
tree.fit(X_train,y_train)

plot_importances(tree)
plt.show()

可以看到,"worst radius" 是最重要的特征。

如果某个特征的feature_importance_很小,不代表这个特征没有提供任何信息,只能说明这个特征没有被树选中,可能是因为另一个特征也包含的同样的信息。

与线性模型的系数不同,决策树的特征重要性一定为正数。

相关推荐
广凌股份(广凌科技)6 分钟前
广凌智慧大内控一体化平台:告别纸上内控,把握真实运行状态
大数据·人工智能
Zldaisy3d7 分钟前
船舶与海工增材制造市场迎来规范化新阶段!中国船级社新指南9月1日生效
人工智能
ZhouDevin8 分钟前
算法论文/模型微调1——CNN架构做lora微调训练
人工智能·深度学习·算法·架构·cnn
ZGi.ai9 分钟前
ZGI Runtime:切换模型后 Agent 为什么失效?
人工智能·aiagent·企业ai·模型切换·zgi·agentruntime
YH552698414 分钟前
有什么AI工具能将网课和视频播客的内容转化成文档?
人工智能·音视频
你最豪士15 分钟前
效率黑洞:被渲染进度条偷走的时间
人工智能
额恩6619 分钟前
NLP五类核心任务:归纳总结与详细讲解
人工智能·自然语言处理
zzzll111124 分钟前
Ollama:本地运行大型语言模型的轻量级解决方案
人工智能·语言模型·自然语言处理
孙启超24 分钟前
【AI应用开发】Agent 无限 loop(反复调用同一个工具)如何规避?
人工智能·python·算法·llm·agent·loop·ai应用开发
qq_3482318526 分钟前
Agent落地
人工智能