Meer informatie over het trainen van machine learning-modellen

Voltooid

Hoe u een machine learning-model traint, is afhankelijk van het type model dat u wilt trainen. Laten we enkele veelgebruikte frameworks verkennen die u kunt gebruiken om een machine learning-model te trainen in Microsoft Fabric.

Machine Learning-frameworks verkennen

Veel gegevenswetenschappers werken in Python en veel machine learning-bibliotheken zijn ontworpen om goed te werken met Python.

Sommige bibliotheken en hun populaire toepassingen waarmee u in Microsoft Fabric kunt werken, zijn:

  • Scikit-learn: Train traditionele machine learning-modellen voor taken zoals classificatie, regressie en clustering.
  • PyTorch en TensorFlow: Deep Learning-modellen trainen voor verwerking van natuurlijke taal of Computer Vision-taken.
  • SynapseML: Hiermee kunt u schaalbare machine learning-pijplijnen maken voor optimale modeltraining.

Werken met notebooks in Microsoft Fabric

Wanneer u een model wilt trainen in Microsoft Fabric, kunt u notebooks gebruiken.

Als data scientist bent u mogelijk al bekend met Jupyter-notebooks. De notebooks die beschikbaar zijn in uw Microsoft Fabric-werkruimte, zijn vergelijkbaar met Jupyter-notebooks, zodat u uw code eenvoudig kunt uitvoeren zoals verwacht.

De notebooks in Microsoft Fabric worden mogelijk gemaakt door Spark Compute. Dit betekent dat u PySpark en Python kunt gebruiken. De meeste machine learning-frameworks zoals scikit-learn, PyTorch en TensorFlow werken met Python en Pandas DataFrames.

PySpark is een Python-bibliotheek die is gebouwd voor gedistribueerde gegevensverwerking. Wanneer u merkt dat u een meer schaalbare machinetrainingspijplijn nodig hebt, kunt u het gebruik van PySpark en SynapseML in uw projecten verkennen.

Een model trainen

Hoe u de training van een machine learning benadert, is afhankelijk van het type model dat u traint. Een veelvoorkomende benadering met traditionele modellen is het doorlopen van de volgende stappen:

  • Laad de gegevens door deze beschikbaar te maken in het notebook als een DataFrame.
  • Verken de gegevens door de gegevens te visualiseren en inzicht te krijgen in de relatie tussen de functies (modelinvoer) en hoe dit van invloed is op het label (modeluitvoer).
  • Bereid de gegevens voor, ook wel functie-engineering genoemd.
  • Splits de gegevens in een trainingsgegevensset en testgegevensset.
  • Train het model.
  • Evalueer het model door de metrische prestatiegegevens te controleren.

Laten we een voorbeeld bekijken en ervan uitgaan dat u al een gegevensset hebt die u hebt verkend en voorbereid voor modeltraining. Stel dat u een regressiemodel wilt trainen en dat u scikit-learn wilt gebruiken.

U kunt de voorbereide gegevensset splitsen met de volgende code:

from sklearn.model_selection import train_test_split

X, y = df[['feature1','feature2','feature3']].values, df['label'].values

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30, random_state=0)

Als gevolg van het splitsen van uw gegevensset hebt u vier DataFrames:

  • X_train: Trainingsgegevensset inclusief alleen de functies.
  • X_test: Test de gegevensset, inclusief alleen de functies.
  • y_train: Trainingsgegevensset inclusief alleen het label.
  • y_test: Test de gegevensset met alleen het label.

Wanneer u een model wilt trainen, kunt u een van de algoritmen (bijvoorbeeld lineaire regressie) selecteren voor uw taak (bijvoorbeeld regressie) die beschikbaar zijn in het framework van uw keuze (bijvoorbeeld scikit-learn). De volgende code toont een voorbeeld van het trainen van een regressiemodel:

from sklearn.linear_model import LinearRegression

model = LinearRegression() 
model.fit(X_train, y_train)

Nadat u het model hebt aangepast, kunt u het model gebruiken om voorspellingen te genereren op de testgegevensset om metrische gegevens over modelprestaties te maken. Wanneer u MLflow gebruikt om uw model bij te houden, kunt u de metrische prestatiegegevens bijhouden die u berekent. U kunt ook metrische standaardprestaties voor MLflow voor u maken en bijhouden.

Bij het bijhouden met MLflow kunt u er ook voor zorgen dat uw model wordt opgeslagen in een indeling om het scoren van modellen in een later stadium mogelijk te maken.