Principy trénování modelů strojového učení
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.