使用 xgboost 绘制特征重要性

2023-12-25

当我绘制特征重要性时,我得到了这个混乱的图。我有超过 7000 个变量。我知道内置函数只选择最重要的,尽管最终的图表不可读。 这是完整的代码:

import numpy as np
import pandas as pd
df = pd.read_csv('ricerice.csv')
array=df.values
X = array[:,0:7803]
Y = array[:,7804]
from xgboost import XGBClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
seed=0
test_size=0.30
X_train, X_test, y_train, y_test = train_test_split(X,Y,test_size=test_size, random_state=seed)
from xgboost import XGBClassifier
model = XGBClassifier()
model.fit(X, Y)
import matplotlib.pyplot as plt
from matplotlib import pyplot
from xgboost import plot_importance
fig1=plt.gcf()
plot_importance(model)
plt.draw()
fig1.savefig('xgboost.png', figsize=(50, 40), dpi=1000)

Although the size of the figure, the graph is illegible. xgboost feature importance plot


有几点:

  1. 为了拟合模型,您需要使用训练数据集(X_train, y_train),而不是整个数据集(X, y).
  2. 您可以使用max_num_features的参数plot_importance()仅显示顶部的功能max_num_features功能(例如前 10 名)。

对代码进行上述修改后,使用一些随机生成的数据,代码和输出如下:

import numpy as np

# generate some random data for demonstration purpose, use your original dataset here
X = np.random.rand(1000,100)     # 1000 x 100 data
y = np.random.rand(1000).round() # 0, 1 labels

from xgboost import XGBClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
seed=0
test_size=0.30
X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=test_size, random_state=seed)
from xgboost import XGBClassifier
model = XGBClassifier()
model.fit(X_train, y_train)
import matplotlib.pylab as plt
from matplotlib import pyplot
from xgboost import plot_importance
plot_importance(model, max_num_features=10) # top 10 most important features
plt.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 xgboost 绘制特征重要性 的相关文章

随机推荐

  • Java - 当数据超出限制时打印消息?

    我的代码已经可以工作了 虽然不漂亮 但确实是工作 现在我想编写一段代码 如果文本文件中有 19 条或更多数据 则停止加载数据 然后显示例如 显示 输入无效 的消息 我不知道如何做到这一点 所以任何帮助将不胜感激 package stacka
  • htaccess 外部重写/内部重定向

    我想通过 htaccess 文件实现两件事 第一个是 www hostname com index php question gt www hostname com question www hostname com index php m
  • GWT 远程日志记录无法记录 Throwable Stacktrace?

    我想使用 GWT远程记录 http www gwtproject org doc latest DevGuideLogging html 这就是我所做的 在我的 web xml 文件中我做了
  • 用于列出 GCP firebase 函数的 Firebase 命令行

    我有 100 个函数部署到 firebase 我想知道是否可以使用 firebase 命令行工具列出我的计算机上的远程函数 我想查看部署的功能列表 我想解决的是 批量部署功能 避免部署限制 在本地删除 重命名函数然后部署整个函数时出现部署错
  • 截断 UILabel 中的部分文本

    我的要求是 我需要在标签中显示文本 如果文本长度太大而无法容纳在一行中 我需要在末尾截断它 这样只有最后几个字符 通常是黑白 1 1000 的数字 因此文本长度可能会有所不同 是可见的 并且其之前的文本被 截断 所以文本看起来像 abcde
  • kubernetes skydns 转发请求失败

    我正在创建一个 1 个主节点 2 个节点的 kubernetes 集群 我正在尝试基于以下内容创建 skydns apiVersion v1 kind ReplicationController metadata name kube dns
  • ANACONDA navigator 无法启动-from win32com.shell import shellcon, shell

    我已经下载并安装了 ANACONDA Anaconda3 2020 02 Windows x86 但是 我发现我无法启动 ANACONDA 导航器 因此我尝试使用命令行并获得了反馈 from win32com shell import sh
  • 无法获取 dicom 图像以在 python 中显示

    我正在尝试在 opencv python 中显示 DICOM 图像 我正在使用 pydicom 库 然后添加 API 来使用 DOTNET 创建一个完整的 DICOM 查看器 该查看器运行 python 当然 C 使用流程实例调用 pyth
  • AMD 相当于 NvOptimusEnablement

    对于 Intel NVIDIA 双 GPU Optimus 设置 应用程序可以导出NvOptimusEnablement如中所解释的Optimus渲染策略 pdf http developer download nvidia com dev
  • ADP 文件中的数据库连接信息在哪里? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 用户输入了他们每天使用的旧 Access 数据库和表单项目的票证 他们说使用数据库时找不到数据库 自大学以来我就没有使用过 MS Access 来设计
  • 如何轻松打包分析核心转储所需的库(即 packcore)

    HPUX 上可用的 GDB 版本有一个名为 packcore 的命令 该命令创建一个包含核心转储 可执行文件和所有库的 tarball 当尝试在不同的机器上调试核心转储时 我发现这非常有用 在 Linux 机器上的 GDB 标准版本中是否有
  • 使用 Autofac 与 AutoMapper Profile 进行 IoC

    我使用 AutoMapper 一段时间了 我的个人资料设置如下 public class ViewModelAutoMapperConfiguration Profile protected override string ProfileN
  • WiX 卸载 - 在重新启动管理器之前关闭应用程序

    我有一个用 WiX 完成的安装程序 安装完成后 它会启动一个应用程序 在资源管理器进程中注入一些代码 目前 当我卸载时 重新启动管理器会启动并关闭我的应用程序和资源管理器 相反 我想手动关闭我的应用程序 这是通过在命令行上使用 exit 再
  • Scala 推断类型参数 - 推断为“Nothing”的类型边界

    我正在尝试编写一个简单的查询 monad 但无法获取我的generic键入注释正确 我的第一次尝试如下 为了简洁而大大简化 case class Person val name String abstract class Schema T
  • 将实体集合拆分为 n 个部分

    我有一个数据库表 首先 我想按日期时间分组 然后我只想选择有 n 个项目的组 我的班级是这样的 public class VisitDate public int Id get set public int VisitMeDate get
  • 使用 CIFilter 在 CALayer 层次结构中渲染视频

    在我的 iOS 应用程序的 UI 中 我显示了一个复杂的层次结构CALayers 其中一层是AVPlayerLayer显示视频CIFilter实时应用 使用AVVideoComposition asset applyingCIFilters
  • 如何在具有悬停事件的 jQuery 动画中正确使用 stop() ?

    我使用下面的方法来制作一些动画 但是当我快速地进出鼠标并将其停在div the fadeIn 不起作用 并且div保持透明 grids hover function gridscontrol stop fadeIn 200 function
  • 无法解析 android 中的符号 setOnClickListener

    当我运行这个程序时 它反复说 无法解析符号setOnClickListener 请任何人帮我解决这个问题 import android support v7 app AppCompatActivity import android cont
  • MySQL数据包含š和ć等特殊字符,但它们显示为“?”在网页上。为什么?

    我正在尝试从表中检索包含该值的行Boris Borenovi 反而 Boris Borenovi 被返回 我的MySQL数据库和表都有utf8 unicode ci整理集 我的 PHP 页面显示表中的数据 包含以下标题 我尝试过charse
  • 使用 xgboost 绘制特征重要性

    当我绘制特征重要性时 我得到了这个混乱的图 我有超过 7000 个变量 我知道内置函数只选择最重要的 尽管最终的图表不可读 这是完整的代码 import numpy as np import pandas as pd df pd read