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

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

相关推荐
gf1321111几秒前
python_获取飞书卡片交互和审批任务状态变更事件信息
python
余俊晖1 分钟前
推理驱动的生成式通用多模态嵌入框架-UME-R1
人工智能·自然语言处理·多模态
jerryinwuhan5 分钟前
analysis_report
人工智能
ss2736 分钟前
ai编程Trae cn生成图书管理系统(1)
java·数据库·spring boot·python·flask·fastapi
世优科技虚拟人8 分钟前
3D卡通与写实数字人制作,AI数字人公司厂商重塑品牌形象升级
人工智能·ai数字人·3d数字人·大屏数字人·展厅数字人·卡通数字人
Ada's8 分钟前
【LLM基础研究】工具02:MinerU
人工智能
如竟没有火炬9 分钟前
寻找峰值——二分
java·开发语言·数据结构·python·算法·散列表
彬鸿科技27 分钟前
bhSDR Studio/Matlab入门指南(十二):AI神经网络训练(Resnet-SE) 实验界面全解析
人工智能·神经网络·matlab·软件无线电·sdr
前端与小赵40 分钟前
Python 模块导入全解析,从基础语法到循环导入破解
python
TMT星球41 分钟前
齐向东:AI时代,三类安全需求集中爆发
人工智能·安全