To change the size of a plot in xgboost.plot_importance, we can take the following steps −
- Set the figure size and adjust the padding between and around the subplots.
- Load the data from a csv file.
- Get x and y data from the loaded dataset.
- Get the xgboost.XGBCClassifier.feature_importances_ model instance.
- Fit x and y data into the model.
- Print the model.
- Make a bar plot.
- To display the figure, use show() method.
Example
from numpy import loadtxt from xgboost import XGBClassifier from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True # data.csv contains data like -> 13, 145, 82, 19, 110, 22.2, 0.245, 57, 0 dataset = loadtxt('data.csv', delimiter=",") X = dataset[:, 0:8] y = dataset[:, 8] model = XGBClassifier() model.fit(X, y) print(model.feature_importances_) plt.bar(range(len(model.feature_importances_)), model.feature_importances_) plt.show()
Output
[13:46:53] WARNING: ../src/learner.cc:1095: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'binary:logistic' was changed from 'error' to 'logloss'. Explicitly set eval_metric if you'd like to restore the old behavior. [0.10621197 0.2424023 0.08803366 0.07818192 0.10381887 0.1486732 0.10059207 0.13208601]