代码如下所示:
# -*- coding: utf-8 -*-
#导入需要的包
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.metrics import roc_auc_score
from xgboost import XGBClassifier
from xgboost import plot_importance ### 加载数据集,这里直接使用datasets包里面的波士顿房价数据
boston=datasets.load_breast_cancer()
#输出数据集的形状,该数据集里面有569个样本,每个样本有30个特征(569, 30)
print(boston.data.shape)
#输出标签的个数为 569
print(boston.target.shape)
# 使用train_test_split()函数对训练集和测试集进行划分,第一个参数是数据集特征,第二个参数是标签,第三个为测试集占总样本的百分比
x_train,x_test,y_train,y_test = train_test_split(boston.data,
boston.target,
test_size = 0.3,
random_state = 33)
#使用XGBoost进行训练
model = XGBClassifier()
model.fit(x_train,y_train) # 绘制重要性曲线,max_num_feature参数设置输出前20重要的特征()
plot_importance(model,max_num_features=20)
plt.show()
# 输入测试样本做预测
y_pred=model.predict_proba(x_test)[:,1] # 输出AUROC的值
roc=roc_auc_score(y_test,y_pred)
print("The AUROC=%f",roc)
"""
0.9841
"""
运行结果:

其中,f2,f3,f4...这些是默认的按从0开始对特征的编号。但是这样的话,我们不知道这些f2,f3到底对应的是哪些特征。我觉得应该有函数什么的吧,要不然的话,怎么进行具体的分析呢。这个问题有待解决。
                                                                                                  


使用plot_importance绘制特征重要性曲线的更多相关文章

  1. kaggle数据挖掘竞赛初步--Titanic<随机森林&特征重要性>

    完整代码: https://github.com/cindycindyhi/kaggle-Titanic 特征工程系列: Titanic系列之原始数据分析和数据处理 Titanic系列之数据变换 Ti ...

  2. XGBoost 输出特征重要性以及筛选特征

    1.输出XGBoost特征的重要性 from matplotlib import pyplot pyplot.bar(range(len(model_XGB.feature_importances_) ...

  3. xgboost 特征重要性计算

    在XGBoost中提供了三种特征重要性的计算方法: ‘weight’ - the number of times a feature is used to split the data across ...

  4. c# 动态绘制直线和曲线

    c# 动态绘制直线和曲线   在本案例中利用Graphics对象动态地绘制直线和曲线.程序运行后,选择“直线”单选按钮,然后按下鼠标左键拖动鼠标就可以绘制直线,选择“曲线”单选按钮,然后移动鼠标就可以 ...

  5. C# Charts绘制多条曲线

    一.创建winform工程 拖拽控件Chart 二.比如要绘制俩条曲线,设置Chart控件的属性Series 三.chart的属性根据自己的业务需求设计,我这里只设置了图标类型 代码: using S ...

  6. 【集成学习】sklearn中xgboost模块中plot_importance函数(绘图--特征重要性)

    直接上代码,简单 # -*- coding: utf-8 -*- """ ################################################ ...

  7. sklearn中xgboost模块中plot_importance函数(特征重要性)

    # -*- coding: utf-8 -*- """ ######################################################### ...

  8. canvas绘制自定义的曲线,以椭圆为例,通俗易懂,童叟无欺

    本篇文章,将讲述如何通过自定义的曲线函数,使用canvas的方式进行曲线的绘制. 为了通俗易懂,将以大家熟悉的椭圆曲线为例,进行椭圆的绘制.至于其他比较复杂的曲线,用户只需通过数学方式建立起曲线函数, ...

  9. 特征工程 —— 特征重要性排序(Random Forest)

    树模型天然会对特征进行重要性排序,以分裂数据集,构建分支: 1. 使用 Random Forest from sklearn.datasets import load_boston from skle ...

随机推荐

  1. 蓝桥每周一题之1. 3n+1 问题

    [问题描述] 考虑如下的序列生成算法:从整数 n 开始,如果 n 是偶数,把它除以 2:如果 n 是奇数,把它乘 3 加1.用新得到的值重复上述步骤,直到 n = 1 时停止.例如,n = 22 时该 ...

  2. Java scirpt简介

    JavaScript 简介 JavaScript 是脚本语言 JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编程代码. JavaScript 插入 H ...

  3. Comedi的安装

    1.comedi的安装:(需要注意的是comedi和comedilib安装顺序随意)    1.comedi与大多数2.2,2.4和2.6Linux内核配合使用,不支持2.6-2.6.6的内核,对2. ...

  4. javascript 操作节点的属性

    使用层次关系访问节点 parentNode:返回节点的父节点 childNodes:返回子节点集合,childNodes[i] firstChild:返回节点的第一个子节点,最普遍的用法是访问该元素的 ...

  5. miniui的联动列表

    function OnCellBeginEdit(e) { var grid = e.sender; var column = e.column; if (!column.parentfield) { ...

  6. activiti 任务监听参数的配置

    public class TaskListenersImp implements TaskListener { private Expression level; private Expression ...

  7. [Mybatis]Mybatis 常用标签及功能整理

    Mybatis中生成动态SQL的标签有四类,分别是: if choose (when, otherwise) trim (where, set) foreach 1.if 当需要动态生成where条件 ...

  8. Inno Setup打包带有MSI文件的程序

    [Setup] ; 注: AppId的值为单独标识该应用程序. ; 不要为其他安装程序使用相同的AppId值. ; (生成新的GUID,点击 工具|在IDE中生成GUID.) AppId={{47A1 ...

  9. jupyter notebook快捷键使用指南

    Jupyter Notebook 是一个交互式笔记本程序, 其有丰富的快捷键来便捷的完成工作.Notebook 有两种键盘输入模式.即命令模式和编辑模式,这与 Vim 有些类似.在编辑模式下,可以往单 ...

  10. 自己DIY出来一个JSON结构化展示器

    说来也巧,这个玩意,一直都想亲手写一个,因为一直用着各种网上提供的工具,觉得这个还是有些用途,毕竟,后面的实现思路和原理不是太复杂,就是对json的遍历,然后给予不同节点类型以不同的展现风格. 我这次 ...