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

时间:2023-03-10 07:18:43
sklearn中xgboost模块中plot_importance函数(特征重要性)
# -*- coding: utf-8 -*-
"""
###############################################################################
# 作者:wanglei5205
# 邮箱:wanglei5205@126.com
# 代码: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%
"""