evaluate_on_multiclass_classifier.py
1 from sklearn.datasets import make_classification 2 from sklearn.linear_model import LogisticRegression 3 from sklearn.model_selection import train_test_split 4 5 import mlflow 6 7 X, y = make_classification(n_samples=10000, n_classes=10, n_informative=5, random_state=1) 8 9 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42) 10 11 with mlflow.start_run() as run: 12 model = LogisticRegression(solver="liblinear").fit(X_train, y_train) 13 model_info = mlflow.sklearn.log_model(model, name="model") 14 result = mlflow.evaluate( 15 model_info.model_uri, 16 X_test, 17 targets=y_test, 18 model_type="classifier", 19 evaluators="default", 20 evaluator_config={"log_model_explainability": True, "explainability_nsamples": 1000}, 21 ) 22 23 print(f"run_id={run.info.run_id}") 24 print(f"metrics:\n{result.metrics}") 25 print(f"artifacts:\n{result.artifacts}")