Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Runs Vergelijken en Beheren | Sectie
Practice
Projects
Quizzes & Challenges
Quizzen
Challenges
/
Mlops Fundamentals

bookRuns Vergelijken en Beheren

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
import logging import mlflow import mlflow.sklearn from mlflow.models import infer_signature from sklearn.ensemble import RandomForestClassifier from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score logging.basicConfig(level=logging.INFO, format="%(levelname)s %(message)s") # Load data iris = load_iris() X_train, X_test, y_train, y_test = train_test_split( iris.data, iris.target, test_size=0.2, random_state=42 ) # Optionally set/announce experiment experiment_name = "IrisRandomForest" mlflow.set_experiment(experiment_name) logging.info(f"Using experiment: {experiment_name}") # Define different hyperparameter sets hyperparams_list = [ {"n_estimators": 50, "max_depth": 2}, {"n_estimators": 100, "max_depth": 3}, {"n_estimators": 150, "max_depth": 4} ] for params in hyperparams_list: run_name = f"rf_n{params['n_estimators']}_d{params['max_depth']}" logging.info(f"Starting run: {run_name} with params: {params}") with mlflow.start_run(run_name=run_name) as run: clf = RandomForestClassifier( n_estimators=params["n_estimators"], max_depth=params["max_depth"], random_state=42 ) clf.fit(X_train, y_train) preds = clf.predict(X_test) acc = accuracy_score(y_test, preds) logging.info(f"Accuracy: {acc:.4f}") # Log hyperparameters and metrics mlflow.log_params(params) mlflow.log_metric("accuracy", acc) # Log the model with input example and signature to avoid warnings input_example = X_test[:5] signature = infer_signature(X_test, preds) mlflow.sklearn.log_model(clf, "model", input_example=input_example, signature=signature) run_id = run.info.run_id artifact_uri = mlflow.get_artifact_uri() logging.info(f"Run ID: {run_id}") logging.info(f"Artifact URI: {artifact_uri}")
copy

Na het loggen van meerdere runs met verschillende hyperparameters kun je de resultaten vergelijken met behulp van MLflow's UI of API. Start de MLflow UI door mlflow ui in je terminal uit te voeren. De UI toont alle runs, hun parameters en metriekwaarden, zodat je kunt sorteren of filteren op accuracy, hyperparametergroepen of tags. Je kunt meerdere runs selecteren om hun prestaties naast elkaar te vergelijken en het beste model te kiezen op basis van je evaluatiemetriek. Je kunt ook de MLflow Python API gebruiken om naar runs te zoeken en het beste resultaat programmatisch op te halen, wat nuttig is voor het automatiseren van modelselectie in productieomgevingen.

Note
Opmerking

Consistente naamgeving en tagging van runs maken grote projecten beheersbaar. Gebruik beschrijvende runnamen en tags om het doel van het experiment, de datasetversie of de hyperparameterzoekgroep bij te houden. Deze werkwijze helpt je om snel relevante runs te identificeren en te vergelijken naarmate je project groeit.

question mark

Welke van de volgende uitspraken beschrijven nauwkeurig hoe je de beste run in MLflow kunt vergelijken en selecteren met behulp van de UI en de Python API?

Select all correct answers

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 6

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

bookRuns Vergelijken en Beheren

Veeg om het menu te tonen

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
import logging import mlflow import mlflow.sklearn from mlflow.models import infer_signature from sklearn.ensemble import RandomForestClassifier from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score logging.basicConfig(level=logging.INFO, format="%(levelname)s %(message)s") # Load data iris = load_iris() X_train, X_test, y_train, y_test = train_test_split( iris.data, iris.target, test_size=0.2, random_state=42 ) # Optionally set/announce experiment experiment_name = "IrisRandomForest" mlflow.set_experiment(experiment_name) logging.info(f"Using experiment: {experiment_name}") # Define different hyperparameter sets hyperparams_list = [ {"n_estimators": 50, "max_depth": 2}, {"n_estimators": 100, "max_depth": 3}, {"n_estimators": 150, "max_depth": 4} ] for params in hyperparams_list: run_name = f"rf_n{params['n_estimators']}_d{params['max_depth']}" logging.info(f"Starting run: {run_name} with params: {params}") with mlflow.start_run(run_name=run_name) as run: clf = RandomForestClassifier( n_estimators=params["n_estimators"], max_depth=params["max_depth"], random_state=42 ) clf.fit(X_train, y_train) preds = clf.predict(X_test) acc = accuracy_score(y_test, preds) logging.info(f"Accuracy: {acc:.4f}") # Log hyperparameters and metrics mlflow.log_params(params) mlflow.log_metric("accuracy", acc) # Log the model with input example and signature to avoid warnings input_example = X_test[:5] signature = infer_signature(X_test, preds) mlflow.sklearn.log_model(clf, "model", input_example=input_example, signature=signature) run_id = run.info.run_id artifact_uri = mlflow.get_artifact_uri() logging.info(f"Run ID: {run_id}") logging.info(f"Artifact URI: {artifact_uri}")
copy

Na het loggen van meerdere runs met verschillende hyperparameters kun je de resultaten vergelijken met behulp van MLflow's UI of API. Start de MLflow UI door mlflow ui in je terminal uit te voeren. De UI toont alle runs, hun parameters en metriekwaarden, zodat je kunt sorteren of filteren op accuracy, hyperparametergroepen of tags. Je kunt meerdere runs selecteren om hun prestaties naast elkaar te vergelijken en het beste model te kiezen op basis van je evaluatiemetriek. Je kunt ook de MLflow Python API gebruiken om naar runs te zoeken en het beste resultaat programmatisch op te halen, wat nuttig is voor het automatiseren van modelselectie in productieomgevingen.

Note
Opmerking

Consistente naamgeving en tagging van runs maken grote projecten beheersbaar. Gebruik beschrijvende runnamen en tags om het doel van het experiment, de datasetversie of de hyperparameterzoekgroep bij te houden. Deze werkwijze helpt je om snel relevante runs te identificeren en te vergelijken naarmate je project groeit.

question mark

Welke van de volgende uitspraken beschrijven nauwkeurig hoe je de beste run in MLflow kunt vergelijken en selecteren met behulp van de UI en de Python API?

Select all correct answers

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 6
some-alt