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))
Did you find this snippet useful?

Sign up for free to to add this to your code library