from sklearn.datasets import load_wine from sklearn.metrics import classification_report from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier wine = load_wine() X_train, X_test, y_train, y_test = train_test_split( wine.data, wine.target, test_size=0.30, stratify=wine.target, random_state=7, ) model = DecisionTreeClassifier(max_depth=3, random_state=7) model.fit(X_train, y_train) y_pred = model.predict(X_test) print( classification_report( y_test, y_pred, target_names=wine.target_names, digits=3, zero_division=0, ) ) metrics = classification_report( y_test, y_pred, target_names=wine.target_names, output_dict=True, zero_division=0, ) print(f"macro avg f1-score: {metrics['macro avg']['f1-score']:.3f}")