xgboost classifier example split dataset into features and target data is features datahandling data 5 1 3 5 1 4 0 2 target 0 5 1 3 5 1 4 0 2 0 datahandling data 4 9 3 0 1 4 0 2 4 7 3 2 1 3 0 2 target 0 0 4 9 3 0 1 4 0 2 4 7 3 2 1 3 0 2 0 0 this test is broken xgboostnp array5 1 3 6 1 4 0 2 np array0 xgbclassifierbasescore0 5 booster gbtree callbacksnone colsamplebylevel1 colsamplebynode1 colsamplebytree1 earlystoppingroundsnone enablecategoricalfalse evalmetricnone gamma0 gpuid1 growpolicy depthwise importancetypenone interactionconstraints learningrate0 300000012 maxbin256 maxcattoonehot4 maxdeltastep0 maxdepth6 maxleaves0 minchildweight1 missingnan monotoneconstraints nestimators100 njobs0 numparalleltree1 predictor auto randomstate0 regalpha0 reglambda1 main url for the algorithm https xgboost readthedocs ioenstable iris type dataset is used to demonstrate algorithm load iris dataset create an xgboost classifier from the training data display the confusion matrix of the classifier with both training and test sets xgboost classifier example split dataset into features and target data is features data_handling data 5 1 3 5 1 4 0 2 target 0 5 1 3 5 1 4 0 2 0 data_handling data 4 9 3 0 1 4 0 2 4 7 3 2 1 3 0 2 target 0 0 4 9 3 0 1 4 0 2 4 7 3 2 1 3 0 2 0 0 this test is broken xgboost np array 5 1 3 6 1 4 0 2 np array 0 xgbclassifier base_score 0 5 booster gbtree callbacks none colsample_bylevel 1 colsample_bynode 1 colsample_bytree 1 early_stopping_rounds none enable_categorical false eval_metric none gamma 0 gpu_id 1 grow_policy depthwise importance_type none interaction_constraints learning_rate 0 300000012 max_bin 256 max_cat_to_onehot 4 max_delta_step 0 max_depth 6 max_leaves 0 min_child_weight 1 missing nan monotone_constraints n_estimators 100 n_jobs 0 num_parallel_tree 1 predictor auto random_state 0 reg_alpha 0 reg_lambda 1 main url for the algorithm https xgboost readthedocs io en stable iris type dataset is used to demonstrate algorithm load iris dataset create an xgboost classifier from the training data display the confusion matrix of the classifier with both training and test sets
import numpy as np
from matplotlib import pyplot as plt
from sklearn.datasets import load_iris
from sklearn.metrics import ConfusionMatrixDisplay
from sklearn.model_selection import train_test_split
from xgboost import XGBClassifier


def data_handling(data: dict) -> tuple:
    
    return (data["data"], data["target"])


def xgboost(features: np.ndarray, target: np.ndarray) -> XGBClassifier:
    
    classifier = XGBClassifier()
    classifier.fit(features, target)
    return classifier


def main() -> None:

    iris = load_iris()
    features, targets = data_handling(iris)
    x_train, x_test, y_train, y_test = train_test_split(
        features, targets, test_size=0.25
    )

    names = iris["target_names"]
    
    xgboost_classifier = xgboost(x_train, y_train)

    ConfusionMatrixDisplay.from_estimator(
        xgboost_classifier,
        x_test,
        y_test,
        display_labels=names,
        cmap="Blues",
        normalize="true",
    )
    plt.title("Normalized Confusion Matrix - IRIS Dataset")
    plt.show()


if __name__ == "__main__":
    import doctest

    doctest.testmod(verbose=True)
    main()