Trénování a vyhodnocování modelů v Tvůrci modelů

Dokončeno

V této lekci se naučíte trénovat a vyhodnocovat modely strojového učení v Tvůrci modelů.

Během trénování použije Tvůrce modelů algoritmy na vaše data. Pomocí metrik vyhodnocení pro konkrétní scénář změříte, jak dobře model funguje.

Trénování v Tvůrci modelů

Teď, když jste vybrali svůj scénář, vybrali trénovací prostředí a načetli data, je čas začít trénovat model. Trénování se skládá z použití algoritmů pro zvolený scénář pro datovou sadu, aby bylo možné najít nejlepší model. V kroku vyhodnocení se podíváme na to, co "nejlepší" znamená.

Ve většině případů musíte k trénování modelů strojového učení v Tvůrci modelů poskytnout jenom dobu, pro kterou chcete trénovat.

Jak dlouho mám trénovat?

Delší doba trénování umožňuje Tvůrci modelů prozkoumat více modelů s širší škálou nastavení.

Následující tabulka shrnuje průměrnou dobu, kterou trvalo získání dobrého výkonu pro sadu ukázkových datových sad na místním počítači pomocí procesoru:

Velikost datové sady Average time to train
0 MB až 10 MB 10 sekund
10 MB až 100 MB 10 minut
100 MB až 500 MB 30 minut
500 MB až 1 GB 60 min
1 GB+ 3 a více hodin

Tato čísla představují pouze vodítko. Přesná délka trénování závisí na:

  • Počet funkcí (sloupců), které se používají jako vstup do modelu.
  • Typ sloupců.
  • Úloha strojového učení
  • Výkon procesoru, GPU, disku a paměti počítače, který se používá k trénování.

Tip

Jako datové sady použijte více než 100 řádků. Méně než to nemusí vést k žádným výsledkům.

Jak Tvůrce modelů najde nejlepší model?

Pravděpodobně jste slyšeli, že strojové učení zahrnuje složitou matematiku. Jak tedy může Tvůrce modelů vytrénovat model strojového učení, pokud jste zadali jenom scénář, datovou sadu a dobu, pro kterou má Tvůrce modelů trénovat?

Model Builder používá automatizované strojové učení (AutoML) k identifikaci sady transformací pro přípravu dat na trénování, výběr algoritmu a ladění nastavení (označovaných také jako hyperparametry) algoritmu. Pomocí metrik vyhodnocení, které jsou specifické pro vybranou úlohu strojového učení, může Tvůrce modelů určit, který model je pro vaše data nejvhodnější.

Trénování a používání kódu

Po trénování modelu vygeneruje Tvůrce modelů následující soubory a přidá je do projektu. Tyto soubory jsou vnořené pod vaším souborem .mbconfig .

  • <NÁZEV> MODELU.zip: Artefakt modelu strojového učení. Tento soubor obsahuje serializovanou verzi modelu.
  • <NÁZEV> MODELU.training.cs: Tento soubor obsahuje kanál trénování modelu. Trénovací kanál modelu se skládá z transformací dat a algoritmu, které se používají k trénování modelu strojového učení. Další informace najdete v tématu Transformace dat a Jak zvolit algoritmus ML.NET.
  • <NÁZEV> MODELU.consumption.cs: Tento soubor obsahuje třídy definující schéma vstupu a výstupu modelu. Obsahuje také metodu Predict , která používá váš model k vytvoření PredictionEngine rozhraní API a vytváření předpovědí. PredictionEngine je rozhraní API pro pohodlí, které umožňuje provádět predikci pro jednu instanci dat.

Vyhodnocení modelu

Teď, když jste našli nejlepší model pro vaše data, je čas otestovat, jak dobře vytváří předpovědi. Jedním zezpůsobůch

Metriky vyhodnocení jsou specifické pro typ úlohy strojového učení, kterou model provádí. Pro každou úlohu se můžete podívat na různé metriky a určit výkon modelu.

Tato tabulka ukazuje metriky vyhodnocení, které Tvůrce modelů používá k výběru nejlepšího modelu na základě scénáře:

Scénář Metriky vyhodnocení Hledat
Klasifikace dat Binary (Přesnost) / Multiclass (MicroAccuracy) Čím blíž k 1,00, tím lépe
Predikce hodnot R-Squared Čím blíž k 1,00, tím lépe
Klasifikace obrázku Přesnost Čím blíž k 1,00, tím lépe
Doporučení R-Squared Čím blíž k 1,00, tím lépe
Detekce objektů Přesnost Čím blíž k 1,00, tím lépe

Další informace o metrikách vyhodnocení ML.NET najdete v tématu Metriky vyhodnocení modelu.

Výběr modelu s nejvyššími metrikami

Váš model dosáhl dokonalých metrik vyhodnocení. Znamená to, že máte dokonalý model? Ne přesně. Pokud ve skutečnosti skončíte s "dokonalým" modelem určeným metrikami vyhodnocení, měli byste být skeptičtí.

Ve strojovém učení je koncept označovaný jako přeurčení a je to něco, na co byste se měli dívat. Přeurčení je, když se model učí vzory v trénovací datové sadě příliš dobře. Když se pokusíte použít model s novými daty, neposkytuje přesné výsledky.

Tady je scénář, který vám pomůže ilustrovat přeurčení. Představte si, že studujete na zkoušku. Nějak máte otázky na zkoušku a odpovědi předem. Při studiu zkoušky se zaměříte na zapamatování odpovědí na otázky. Když děláte zkoušku a dostanete výsledky, získáte vysokou známku. Vysoká známka může signalizovat, že dobře znáte danou problematiku. Pokud by vás ale někdo požádal o otázku týkající se jednoho z témat, které nebyly přímo na testu, může se vám to pokazit, protože jste se předmětu nenaučili, jen jste si odpověděli na odpovědi. Přeurčení funguje podobným způsobem.

Vylepšení modelu

Pokud nejste spokojení s metrikami vyhodnocení modelu, můžete zkusit tento model vylepšit:

  • Poskytovat reprezentativní pozorování dat: Zkušenosti jsou nejlepším učitelem. Tento koncept platí také pro strojové učení. Čím více pozorování dat můžete poskytnout, tím širší je sada vzorů, které model dokáže rozpoznat.
  • Uveďte další kontext: Přidání sloupců, které do dat přidávají kontext, pomáhá vašemu modelu identifikovat vzory. Řekněme například, že se pokoušíte předpovědět cenu domu a jediným datovým bodem, který máte, je počet místností. To vám sám o sobě nemusí moc říct. Co kdybyste ale věděli, že dům se nachází v sousedství na předměstí mimo hlavní metropolitní oblast, kde průměrný příjem domácností je 80 000 Dolarů a školy jsou v top 20th percentilu? Teď máte další informace, které vám můžou pomoct informovat rozhodnutí modelu.
  • Používejte smysluplná data a funkce: I když více ukázek a funkcí dat může přispět ke zlepšení přesnosti modelu, můžou také představovat šum, protože ne všechna data a funkce jsou smysluplné. Je důležité pochopit, které funkce nejvíce ovlivňují rozhodnutí algoritmu.
  • Prozkoumejte další algoritmy: Poskytnutí Tvůrce modelů s větším časem, aby ho umožnilo prozkoumat více algoritmů a hyperparametrů, můžou pomoct vylepšit váš model.

V další lekci použijete Tvůrce modelů k trénování modelu strojového učení.