python xgboost输出变量重要性_sklearn中xgboost模块中plot_importance函数(特征重要性)...

# -*- coding: utf-8 -*-

"""

###############################################################################

# 作者:wanglei5205

# 邮箱:[email protected]

# 代码:http://github.com/wanglei5205

# 博客:http://cnblogs.com/wanglei5205

# 目的:学习xgboost的plot_importance函数

# 官方API文档:http://xgboost.readthedocs.io/en/latest/python/python_api.html#module-xgboost.training

###############################################################################

"""

### load module

import matplotlib.pyplot as plt

from sklearn import datasets

from sklearn.model_selection import train_test_split

from sklearn.metrics import accuracy_score

from xgboost import XGBClassifier

from xgboost import plot_importance

### load datasets

digits = datasets.load_digits()

### data analysis

print(digits.data.shape)

print(digits.target.shape)

### data split

x_train,x_test,y_train,y_test = train_test_split(digits.data,

digits.target,

test_size = 0.3,

random_state = 33)

model = XGBClassifier()

model.fit(x_train,y_train)

### plot feature importance

fig,ax = plt.subplots(figsize=(15,15))

plot_importance(model,

height=0.5,

ax=ax,

max_num_features=64)

plt.show()

### make prediction for test data

y_pred = model.predict(x_test)

### model evaluate

accuracy = accuracy_score(y_test,y_pred)

print("accuarcy: %.2f%%" % (accuracy*100.0))

"""

95.0%

"""

你可能感兴趣的:(python,xgboost输出变量重要性)