XGBoost Multiclass Classification
Python
Training an XGBoost multiclass classification model using the Sci-Kit Learn API.
1| from xgboost import XGBClassifier 2| import matplotlib.pyplot as plt 3| from sklearn.metrics import accuracy_score 4| 5| # Step 1: Initialise and fit XGBoost multiclass model 6| model = XGBClassifier(objective='multi:softprob', 7| n_estimators=1000, 8| max_depth=4, 9| learning_rate=0.1, 10| min_child_weight=1, 11| colsample_bytree=0.9, 12| subsample=0.9, 13| n_jobs=-1, 14| random_state=101) 15| model.fit(X_train, y_train) 16| 17| model.save_model('xgb_classification.model') 18| 19| # Step 2: Plot feature importances 20| features = X_train.columns 21| importance_values = model.feature_importances_ 22| 23| plt.barh(y=range(len(features)), 24| width=importance_values, 25| tick_label=features) 26| plt.show() 27| 28| # Step 3: Make predictions for test data & evaluate performance 29| y_pred = model.predict(X_test) 30| print('Accuracy',accuracy_score(y_test, y_pred))
149
132
127
119