【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_很小,不代表这个特征没有提供任何信息,只能说明这个特征没有被树选中,可能是因为另一个特征也包含的同样的信息。

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

相关推荐
田里的水稻几秒前
IL_策略训练---Mamba\SSM神经网络种类六
人工智能·深度学习·神经网络·机器学习
天天代码码天天1 分钟前
把老动画带给新一代孩子:用 C# WinForms、APISR 和 Vulkan 做一个视频超分工具
人工智能
空堂与归2 分钟前
清华VPP2登顶RoboDojo:凭预测解耦突围GPT-6
人工智能·gpt·ai·具身智能
AliCloudROS3 分钟前
MiniMax-H3 视频生成模型 — 一键部署与使用指南
人工智能·音视频
vx_Biye_Design3 分钟前
springboot旅游管理系统18006-计算机课程设计、毕业设计
java·spring boot·后端·python·elasticsearch·django·课程设计
新新学长搞科研5 分钟前
【一级学会, 985高校联合主办】第五届图像处理、计算机视觉与机器学习国际学术会议(ICICML 2026)
图像处理·机器学习·计算机视觉
云端设计台6 分钟前
技术方案评审画图难?AI文本可视化工具实测
人工智能
见闻小天地9 分钟前
数据中心柴发出口保护怎么选?Emax 与 Tmax XT 的定位与分工
大数据·运维·人工智能·业界资讯
半亩码田10 分钟前
C#转Python第4.7篇:logging:Python 的标准日志库
开发语言·python·c#
IT_陈寒12 分钟前
为什么我的React组件一直在意外重渲染?
前端·人工智能·后端