y = dataset[:,8]# fit model no training datamodel = XGBClassifier() model.fit(X, y)# plot feature importanceplot_importance(model) pyplot.show() 运行得到的特征重要性图像如下: 注:根据其在输入数组中的索引,plot_importance自动将特征被命名为f0-f7。可以自行对应到具体的特征名。
feat_imp = pd.Series(alg.booster().get_fscore()).sort_values(ascending=False) feat_imp.plot(kind='bar', title='Feature Importances') plt.ylabel('Feature Importance Score')#xgboost’s sklearn没有feature_importances,但是#get_fscore() 有相同的功能 1 2 3 4 5 6 7 8 9 10 11 12 13...
# Python XGB 变量重要性 ## 介绍 在机器学习领域中,特征选择是一个重要的步骤,它能够帮助我们找到对模型性能有重要影响的特征。在XGBoost算法中,有一个内置的函数可以帮助我们计算变量的重要性,这个函数叫做`plot_importance()`。本篇文章将介绍如何使用Python的XGBoost库来计算变量的重要性,并展示一些代码示例。 #...
# -*- coding: utf-8 -*- """ Created on Wed Mar 10 19:01:07 2021 @author: Administrator """ #%% import numpy as np import pandas as pd import matplotlib.pyplot as plt import operator import time import xgboost as xgb from xgboost import plot_importance #画特征重要性的函数 #from im...
(X_test) ans = model.predict(dtest) # 计算准确率 cnt1 = 0 cnt2 = 0 for i in range(len(y_test)): if ans[i] == y_test[i]: cnt1 += 1 else: cnt2 += 1 print("Accuracy: %.2f %% " % (100 * cnt1 / (cnt1 + cnt2))) # 显示重要特征 plot_importance(model) plt....
是指在使用XGBoost回归器进行建模时,通过一系列算法和技术来选择最重要的特征,以提高模型的准确性和效率。 XGBoost是一种基于梯度提升决策树(Gradient Boosting Decision Tree)的机器学习算法,它在解决各种回归和分类问题上表现出色。特征选择是XGBoost中的一个重要步骤,它可以帮助我们从大量的特征中找到对目标变量影响最...
plot_importance(model_xgb,height=0.5,max_num_features=20) plt.show() weight=model_xgb.get_booster().get_score(importance_type="weight") weight=pd.Series(weight).sort_values(ascending=False) weight/weight.sum() # im=pd.DataFrame({'importance':model_xgb.feature_importances_,'var':X.columns...
# 显示重要特征 # plot_importance(model) # plt.show() 好了,调参的过程到这里就基本结束了。正如我在上面提到的一样,其实调参对于模型准确率的提高有一定的帮助,但这是有限的。 最重要的还是要通过数据清洗,特征选择,特征融合,模型融合等手段来进行改进!
col.extend(enc_lab) # 组合好特征变量列名,稍后画图待用 # 建模--- model = XGBR(max_depth=4, learning_rate=0.05, n_estimators=150) model.fit(x_new,y) # 特征重要性--- plt.bar(range(len(col)),model.feature_importances_) plt.xticks...