Principy trénování modelů strojového učení

Dokončeno

Způsob trénování modelu strojového učení závisí na typu modelu, který chcete trénovat. Pojďme se podívat na některé běžně používané architektury, které můžete použít k trénování modelu strojového učení v Microsoft Fabric.

Prozkoumání architektur strojového učení

Mnoho datových vědců pracuje v Pythonu a mnoho knihoven strojového učení je navržené tak, aby dobře fungovalo s Pythonem.

Mezi knihovny a jejich oblíbené způsoby použití, se kterými můžete pracovat v Microsoft Fabric, patří:

  • Scikit-learn: Trénování tradičních modelů strojového učení pro úlohy, jako je klasifikace, regrese a clustering.
  • PyTorch a TensorFlow: Trénujte modely hlubokého učení pro zpracování přirozeného jazyka nebo úlohy počítačového zpracování obrazu.
  • SynapseML: Umožňuje vytvářet škálovatelné kanály strojového učení pro optimální trénování modelů.

Práce s poznámkovými bloky v Microsoft Fabric

Pokud chcete vytrénovat model v Microsoft Fabric, můžete použít poznámkové bloky.

Jako datový vědec už možná znáte poznámkové bloky Jupyter. Poznámkové bloky dostupné v pracovním prostoru Microsoft Fabric jsou podobné poznámkovému bloku Jupyter, což usnadňuje spouštění kódu podle očekávání.

Poznámkové bloky v Microsoft Fabric využívají výpočetní prostředí Spark, což znamená, že můžete použít PySpark a Python. Většina architektur strojového učení, jako jsou scikit-learn, PyTorch a TensorFlow, pracují s datovými rámcemi Python a Pandas.

PySpark je knihovna Pythonu vytvořená pro distribuované zpracování dat. Kdykoli si všimnete potřeby škálovatelného trénovacího kanálu počítače, můžete ve svých projektech prozkoumat použití PySpark a SynapseML.

Učení modelu

Přístup k trénování strojového učení závisí na typu modelu, který natrénujete. Běžným přístupem k tradičním modelům je iterace pomocí následujících kroků:

  • Načtěte data tak, že je zpřístupníte v poznámkovém bloku jako datový rámec.
  • Prozkoumejte data vizualizací dat a pochopením vztahu mezi funkcemi (vstupem modelu) a tím, jak ovlivňují popisek (výstup modelu).
  • Připravte data, označovaná také jako příprava funkcí.
  • Rozdělte data na trénovací datovou sadu a testovací datovou sadu.
  • Trénování modelu
  • Vyhodnoťte model kontrolou metrik výkonu.

Pojďme se podívat na příklad a předpokládejme, že už máte datovou sadu, kterou jste prozkoumali a připravili na trénování modelu. Představte si, že chcete vytrénovat regresní model a rozhodnete se použít scikit-learn.

Připravenou datovou sadu můžete rozdělit následujícím kódem:

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)

V důsledku rozdělení datové sady budete mít čtyři datové rámce:

  • X_train: Trénovací datová sada, včetně pouze funkcí.
  • X_test: Testovací datová sada, včetně pouze funkcí.
  • y_train: Trénovací datová sada, včetně pouze popisku.
  • y_test: Testovací datová sada, včetně pouze popisku.

Pokud chcete vytrénovat model, můžete vybrat jeden z algoritmů (například lineární regrese) pro úlohu (například regresi), které jsou k dispozici v rámci vašeho výběru (například scikit-learn). Následující kód ukazuje příklad trénování regresního modelu:

from sklearn.linear_model import LinearRegression

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

Po přizpůsobení modelu můžete pomocí modelu vygenerovat předpovědi v testovací datové sadě a vytvořit metriky výkonu modelu. Když ke sledování modelu použijete MLflow, můžete sledovat metriky výkonu, které vypočítáte. Můžete také nechat MLflow vytvářet a sledovat standardní metriky výkonu za vás.

Při sledování pomocí MLflow můžete také zajistit, aby se váš model uložil ve formátu, aby bylo možné bodování modelu povolit v pozdější fázi.