Share via


Machine learning-model in Microsoft Fabric

Een machine learning-model is een bestand dat is getraind om bepaalde typen patronen te herkennen. U traint een model over een set gegevens en u geeft het een algoritme dat gebruikt om redeneren en leren van die gegevensset. Nadat u het model hebt getraind, kunt u het gebruiken om gegevens te redeneren die nooit eerder zijn gezien en voorspellingen over die gegevens te doen.

In MLflow kan een machine learning-model meerdere modelversies bevatten. Hier kan elke versie een modeliteratie vertegenwoordigen. In dit artikel leert u hoe u met ML-modellen kunt werken om modelversies bij te houden en te vergelijken.

Een machine learning-model maken

In MLflow bevatten machine learning-modellen een standaardverpakkingsindeling. Met deze indeling kunt u deze modellen gebruiken in verschillende downstreamhulpprogramma's, waaronder batchdeductie op Apache Spark. De indeling definieert een conventie voor het opslaan van een model in verschillende 'smaken' die verschillende downstreamhulpprogramma's kunnen begrijpen.

U kunt rechtstreeks een machine learning-model maken vanuit de gebruikersinterface van Fabric. De MLflow-API kan het model ook rechtstreeks maken.

Als u een machine learning-model wilt maken vanuit de gebruikersinterface, kunt u het volgende doen:

  1. Maak een nieuwe data science-werkruimte of selecteer een bestaande data science-werkruimte.

  2. Selecteer model in de vervolgkeuzelijst + Nieuw om een leeg model te maken in uw data science-werkruimte.

    Screenshot showing the New drop-down menu.

  3. Nadat het model is gemaakt, kunt u modelversies toevoegen om metrische gegevens en parameters voor uitvoering bij te houden. Experimentuitvoeringen registreren of opslaan in een bestaand model.

U kunt ook rechtstreeks vanuit uw ontwerpervaring een machine learning-experiment maken met de mlflow.register_model() API. Als er geen geregistreerd machine learning-model met de opgegeven naam bestaat, wordt het automatisch gemaakt door de API.

import mlflow

model_uri = "runs:/{}/model-uri-name".format(run.info.run_id)
mv = mlflow.register_model(model_uri, "model-name")

print("Name: {}".format(mv.name))
print("Version: {}".format(mv.version))

Versies beheren binnen een machine learning-model

Een machine learning-model bevat een verzameling modelversies voor vereenvoudigde tracering en vergelijking. Binnen een model kan een data scientist door verschillende modelversies navigeren om de onderliggende parameters en metrische gegevens te verkennen. Gegevenswetenschappers kunnen ook vergelijkingen maken tussen modelversies om te bepalen of nieuwere modellen betere resultaten kunnen opleveren.

Machine Learning-modellen bijhouden

Een machine learning-modelversie vertegenwoordigt een afzonderlijk model dat is geregistreerd voor het bijhouden.

Screenshot showing the details screen of a model.

Elke modelversie bevat de volgende informatie:

  • Tijd gemaakt: datum en tijd waarop het model is gemaakt.
  • Run Name: De id voor de experimentuitvoeringen die worden gebruikt om deze specifieke modelversie te maken.
  • Hyperparameters: Hyperparameters worden opgeslagen als sleutel-waardeparen. Zowel sleutels als waarden zijn tekenreeksen.
  • Metrische gegevens: Voer metrische gegevens uit die zijn opgeslagen als sleutel-waardeparen. De waarde is numeriek.
  • Modelschema/handtekening: een beschrijving van de invoer en uitvoer van het model.
  • Vastgelegde bestanden: Geregistreerde bestanden in elke indeling. U kunt bijvoorbeeld afbeeldingen, omgeving, modellen en gegevensbestanden vastleggen.

Machine Learning-modellen vergelijken en filteren

Als u de kwaliteit van machine learning-modelversies wilt vergelijken en evalueren, kunt u de parameters, metrische gegevens en metagegevens tussen geselecteerde versies vergelijken.

Machine Learning-modellen visueel vergelijken

U kunt uitvoeringen visueel vergelijken binnen een bestaand model. Met visuele vergelijking kunt u eenvoudig navigeren tussen en sorteren in meerdere versies.

Screenshot showing a list of runs for comparison.

Als u uitvoeringen wilt vergelijken, kunt u het volgende doen:

  1. Selecteer een bestaand machine learning-model dat meerdere versies bevat.
  2. Selecteer het tabblad Weergave en navigeer naar de lijstweergave Model. U kunt ook de optie selecteren om de modellijst rechtstreeks vanuit de detailweergave weer te geven.
  3. U kunt de kolommen in de tabel aanpassen. Vouw het deelvenster Kolommen aanpassen uit. Hier kunt u de eigenschappen, metrische gegevens en hyperparameters selecteren die u wilt zien.
  4. Ten slotte kunt u meerdere versies selecteren om hun resultaten te vergelijken in het deelvenster met metrische gegevens. In dit deelvenster kunt u de grafieken aanpassen met wijzigingen in de grafiektitel, visualisatietype, X-as, Y-as en meer.

Machine Learning-modellen vergelijken met behulp van de MLflow-API

Gegevenswetenschappers kunnen MLflow ook gebruiken om te zoeken naar meerdere modellen die zijn opgeslagen in de werkruimte. Ga naar de MLflow-documentatie om andere MLflow-API's te verkennen voor modelinteractie.

from pprint import pprint

client = MlflowClient()
for rm in client.list_registered_models():
    pprint(dict(rm), indent=4)

Machine Learning-modellen toepassen

Zodra u een model hebt getraind in een gegevensset, kunt u dat model toepassen op gegevens die nooit zijn gezien om voorspellingen te genereren. We noemen dit model het gebruik van technieken voor scoren of deductie. Zie de volgende sectie voor meer informatie over het scoren van Microsoft Fabric-modellen.