直接上代码,简单
1 # -*- coding: utf-8 -*- 2 """ 3 ############################################################################### 4 # 作者:wanglei5205 5 # 邮箱:wanglei5205@126.com 6 # 代码:http://github.com/wanglei5205 7 # 博客:http://cnblogs.com/wanglei5205 8 # 目的:学习xgboost的plot_importance函数 9 # 官方API文档:http://xgboost.readthedocs.io/en/latest/python/python_api.html#module-xgboost.training 10 ############################################################################### 11 """ 12 ### load module 13 import matplotlib.pyplot as plt 14 from sklearn import datasets 15 from sklearn.model_selection import train_test_split 16 from sklearn.metrics import accuracy_score 17 from xgboost import XGBClassifier 18 from xgboost import plot_importance 19 20 ### load datasets 21 digits = datasets.load_digits() 22 23 ### data analysis 24 print(digits.data.shape) 25 print(digits.target.shape) 26 27 ### data split 28 x_train,x_test,y_train,y_test = train_test_split(digits.data, 29 digits.target, 30 test_size = 0.3, 31 random_state = 33) 32 33 model = XGBClassifier() 34 model.fit(x_train,y_train) 35 36 ### plot feature importance 37 fig,ax = plt.subplots(figsize=(15,15)) 38 plot_importance(model, 39 height=0.5, 40 ax=ax, 41 max_num_features=64) 42 plt.show() 43 44 ### make prediction for test data 45 y_pred = model.predict(x_test) 46 47 ### model evaluate 48 accuracy = accuracy_score(y_test,y_pred) 49 print("accuarcy: %.2f%%" % (accuracy*100.0)) 50 """ 51 95.0% 52 """