Co je tvůrce modelů a jak to funguje?What is Model Builder and how does it work?

ML.NET model Builder je intuitivní grafické rozšíření sady Visual Studio, které slouží k sestavování, výuce a nasazování vlastních modelů strojového učení.ML.NET Model Builder is an intuitive graphical Visual Studio extension to build, train, and deploy custom machine learning models.

Tvůrce modelů pomocí automatizovaného strojového učení (AutoML) zkoumá různé algoritmy a nastavení strojového učení, které vám pomůžou najít ten, který nejlépe vyhovuje vašemu scénáři.Model Builder uses automated machine learning (AutoML) to explore different machine learning algorithms and settings to help you find the one that best suits your scenario.

K používání tvůrce modelů nepotřebujete odborné znalosti strojového učení.You don't need machine learning expertise to use Model Builder. Potřebujete jenom některá data a problém, který je potřeba vyřešit.All you need is some data, and a problem to solve. Tvůrce modelů generuje kód pro přidání modelu do vaší aplikace .NET.Model Builder generates the code to add the model to your .NET application.

Animace uživatelského rozhraní rozšíření tvůrce modelů sady Visual Studio

Poznámka

Tvůrce modelů je aktuálně ve verzi Preview.Model Builder is currently in Preview.

ScénářeScenarios

Můžete přenášet mnoho různých scénářů do Tvůrce modelů a vygenerovat pro svou aplikaci model strojového učení.You can bring many different scenarios to Model Builder, to generate a machine learning model for your application.

Scénář je popis typu předpovědi, kterou chcete použít pro vaše data.A scenario is a description of the type of prediction you want to make using your data. Příklad:For example:

  • Předpověď budoucího objemu prodejů produktů na základě historických dat o prodejipredict future product sales volume based on historical sales data
  • klasifikace zabarvení jako kladné nebo záporné na základě revizí zákazníkůclassify sentiments as positive or negative based on customer reviews
  • zjištění, zda je bankovní transakce podvodnýdetect whether a banking transaction is fraudulent
  • směrování problémů s názory zákazníků na správný tým ve vaší společnostiroute customer feedback issues to the correct team in your company

Který scénář strojového učení je pro mě nejvhodnější?Which machine learning scenario is right for me?

V Tvůrci modelů je nutné vybrat scénář.In Model Builder, you need to select a scenario. Typ scénáře závisí na typu předpovědi, kterou se pokoušíte provést.The type of scenario depends on what type of prediction you are trying to make.

Předpověď kategorie (pokud jsou k dispozici pouze dvě kategorie)Predict a category (when there are only two categories)

Binární klasifikace se používá ke kategorizaci dat do dvou kategorií (ano/ne; úspěch/chyba; pravda/nepravda; kladné nebo záporné).Binary classification is used to categorize data into two categories (yes/no; pass/fail; true/false; positive/negative).

Diagram znázorňující příklady binární klasifikace včetně zjišťování podvodů, zmírnění rizik a blokování aplikací

Analýza mínění se dá použít k předpovědi kladné nebo záporné míněníí zpětné vazby od zákazníků.Sentiment analysis can be used to predict positive or negative sentiment of customer feedback. Je příkladem úlohy strojového učení s binární klasifikací.It is an example of the binary classification machine learning task.

Pokud váš scénář vyžaduje klasifikaci ve dvou kategoriích, můžete použít tuto šablonu s vlastní datovou sadou.If your scenario requires classification into two categories, you can use this template with your own dataset.

Předpověď kategorie (pokud existují tři nebo více kategorií)Predict a category (when there are three or more categories)

Pro kategorizaci dat do tří nebo více tříd lze použít klasifikaci s více třídami.Multiclass classification can be used to categorize data into three or more classes.

Příklady klasifikace s více třídami včetně klasifikace dokumentů a produktů, směrování lístků podpory a stanovení priorit zákaznických problémů

Klasifikace problému se dá použít ke kategorizaci vašich názorů zákazníků (například na GitHubu) s použitím názvu a popisu problému.Issue classification can be used to categorize customer feedback (for example, on GitHub) issues using the issue title and description. Je to příklad úlohy Machine Learning pro klasifikaci více tříd.It is an example of the multi-class classification machine learning task.

Šablonu klasifikace problému můžete použít pro váš scénář, pokud chcete rozdělit data do tří nebo více kategorií.You can use the issue classification template for your scenario if you want to categorize data into three or more categories.

Předpovědět čísloPredict a number

Regrese se používá k předpovědi čísel.Regression is used to predict numbers.

Diagram znázorňující příklady regrese, jako je předpověď ceny, Prognóza prodeje a prediktivní údržba

Předpověď cen se dá použít k předvídání cen za domácí ceny pomocí umístění, velikosti a dalších vlastností domu.Price prediction can be used to predict house prices using location, size, and other characteristics of the house. Jedná se o příklad úlohy regresního strojového učení.It is an example of the regression machine learning task.

Šablonu předpovědi cen můžete použít pro váš scénář, pokud chcete předpovědět číselnou hodnotu s vlastní datovou sadou.You can use the price prediction template for your scenario if you want to predict a numerical value with your own dataset.

Klasifikace imagí do kategoriíClassify images into categories

Tento scénář je zvláštní případ třídy s více třídami, kde vstupní data, která mají být zařazena do kategorií, jsou sada imagí.This scenario is a special case of multiclass classification, where the input data to be categorized is a set of images.

Klasifikaci obrázku lze použít k identifikaci obrázků různých kategorií.Image classification can be used to identify images of different categories. Například různé typy terénu nebo zvířat nebo výrobní vady.For example, different types of terrain or animals or manufacturing defects.

Šablonu klasifikace obrázku můžete použít pro váš scénář, pokud máte sadu imagí a chcete klasifikace imagí do různých kategorií.You can use the image classification template for your scenario if you have a set of images, and you want to classify the images into different categories.

Vlastní scénářCustom scenario

Vlastní scénář umožňuje ručně zvolit scénář.The custom scenario allows you to manually choose your scenario.

DatovéData

Jakmile vyberete svůj scénář, tvůrce modelů vás vyzve k zadání datové sady.Once you have chosen your scenario, Model Builder asks you to provide a dataset. Data se používají ke školení, vyhodnocení a výběru nejlepšího modelu pro váš scénář.The data is used to train, evaluate, and choose the best model for your scenario.

Diagram znázorňující kroky tvůrce modelů

Tvůrce modelů podporuje datové sady ve formátech. TSV,. csv,. txt a také ve formátu SQL Database.Model Builder supports datasets in .tsv, .csv, .txt formats, as well as SQL database format. Pokud máte soubor. txt, sloupce by měly být oddělené ,, ; nebo /t a soubor musí obsahovat řádek záhlaví.If you have a .txt file, columns should be separated with ,, ; or /t and the file must have a header row.

Pokud je datová sada tvořena obrázky, podporované typy souborů jsou .jpg a .png.If the dataset is made up of images, the supported file types are .jpg and .png.

Další informace najdete v tématu načtení dat o školení do Tvůrce modelů.For more information, see Load training data into Model Builder.

Vyberte výstup, který chcete předpovědět (popisek)Choose the output to predict (label)

Datová sada je tabulka řádků příkladů cvičení a sloupce atributů.A dataset is a table of rows of training examples, and columns of attributes. Každý řádek má:Each row has:

  • popisek (atribut, který chcete předpovědět)a label (the attribute that you want to predict)
  • funkce (atributy, které se používají jako vstupy pro předpověď popisku).features (attributes that are used as inputs to predict the label).

Pro scénář předpovědi pro domácí ceny můžou tyto funkce:For the house-price prediction scenario, the features could be:

  • čtvercové záběry domuthe square footage of the house
  • počet ložnicemi a bathroomsthe number of bedrooms and bathrooms
  • PSČthe zip code

Popisek je cena za cenu na pracovišti pro tento řádek hodnot čtvercového záběru, Bedroom a koupeln a PSČ.The label is the historical house price for that row of square footage, bedroom, and bathroom values and zip code.

Tabulka znázorňující řádky a sloupce údajů o cenách domu s funkcemi, které se skládají z poštovních místností – PSČ a popisek ceny

Příklady datových sadExample datasets

Pokud ještě nemáte vlastní data, vyzkoušejte jednu z těchto datových sad:If you don't have your own data yet, try out one of these datasets:

ScénářScenario Úloha MLML task DatovéData PopisekLabel FunkceFeatures
Předpověď cenyPrice prediction nevýhodyregression data taxislužby tarifůtaxi fare data VozovFare Doba odezvy, vzdálenostTrip time, distance
Detekce anomáliíAnomaly detection binární klasifikacebinary classification prodejní data produktuproduct sales data Prodej produktuProduct Sales MonthMonth
Analýza míněníSentiment analysis binární klasifikacebinary classification data komentáře webuwebsite comment data Popisek (0, pokud je negativní mínění, 1 Při kladném)Label (0 when negative sentiment, 1 when positive) Komentář, rokComment, Year
Odhalování podvodůFraud detection binární klasifikacebinary classification data platebních karetcredit card data Třída (1, pokud je podvodný, 0 jinak)Class (1 when fraudulent, 0 otherwise) Množství, V1-v28 (funkce Anonyme)Amount, V1-V28 (anonymized features)
Klasifikace textuText classification Klasifikace s více třídamimulticlass classification Data o problému na GitHubuGitHub issue data PlošnýArea Název, popisTitle, Description
Klasifikace obrázkůImage classification Klasifikace s více třídamimulticlass classification Obrázky květinFlowers images Typ květu: uzavřené, Dandelion, růže, slunečnice, TulipsThe type of flower: daisy, dandelion, roses, sunflowers, tulips Samotná data obrázkuThe image data itself

TrénováníTrain

Když vyberete svůj scénář, data a popisek, tvůrce modelů navlakuje model.Once you select your scenario, data, and label, Model Builder trains the model.

Co je školení?What is training?

Školení je automatický proces, podle kterého tvůrce modelů učí váš model, jak odpovídat na otázky pro váš scénář.Training is an automatic process by which Model Builder teaches your model how to answer questions for your scenario. Po vyškolení může váš model předpovědi se vstupními daty, ke kterým se předtím neviděl.Once trained, your model can make predictions with input data that it has not seen before. Pokud například předpovídáte ceny za dům a na trhu se nachází nová dům, můžete předpovědět její prodejní cenu.For example, if you are predicting house prices and a new house comes on the market, you can predict its sale price.

Vzhledem k tomu, že tvůrce modelů používá automatizované Machine Learning (AutoML), nevyžaduje během školení žádné vstupy nebo ladění.Because Model Builder uses automated machine learning (AutoML), it does not require any input or tuning from you during training.

Jak dlouho mám zaškolit?How long should I train for?

Tvůrce modelů používá AutoML k prozkoumání více modelů, abyste si našli nejlepší výkon modelu.Model Builder uses AutoML to explore multiple models to find you the best performing model.

Delší školicí období umožňují AutoML prozkoumat více modelů s širší škálou nastavení.Longer training periods allow AutoML to explore more models with a wider range of settings.

V následující tabulce najdete průměrnou dobu, jakou trvalo dosažení dobrého výkonu sady ukázkových datových sad na místním počítači.The table below summarizes the average time taken to get good performance for a suite of example datasets, on a local machine.

Velikost datové sadyDataset size Průměrná doba pro vlakAverage time to train
0-10 MB0 - 10 MB 10 sekund10 sec
10-100 MB10 - 100 MB 10 min10 min
100 – 500 MB100 - 500 MB 30 min30 min
500 – 1 GB500 - 1 GB 60 min.60 min
1 GB +1 GB+ 3 hodiny3+ hours

Tato čísla jsou jenom orientační.These numbers are a guide only. Přesná délka školení závisí na:The exact length of training is dependent on:

  • počet funkcí (sloupců), které se používají jako vstup do modeluthe number of features (columns) being used to as input to the model
  • typ sloupcůthe type of columns
  • úkol MLthe ML task
  • výkon procesoru, disku a paměti počítače, který se používá pro školeníthe CPU, disk and memory performance of the machine used for training

Zhodnocení produktuEvaluate

Vyhodnocení je proces měření, jak dobrý je váš model.Evaluation is the process of measuring how good your model is. Tvůrce modelů používá trained model k vytváření předpovědi s novými testovacími daty a pak měří, jak dobrá předpovědi.Model Builder uses the trained model to make predictions with new test data, and then measures how good the predictions are.

Tvůrce modelů rozdělí školicí data do sady školení a sady testů.Model Builder splits the training data into a training set and a test set. Školicí data (80%) se používá ke školení vašeho modelu a testovacích dat (20%) se vrátí k vyhodnocení vašeho modelu.The training data (80%) is used to train your model and the test data (20%) is held back to evaluate your model.

Návody porozumět výkonu mého modelu?How do I understand my model performance?

Scénář se mapuje na úlohu strojového učení.A scenario maps to a machine learning task. Každá úloha ML má svou vlastní sadu metrik vyhodnocení.Each ML task has its own set of evaluation metrics.

Regrese (například předpověď ceny)Regression (for example, Price Prediction)

Výchozí metrika pro regresní problémy je RSquared, hodnota RSquared rozsahů mezi 0 a 1.The default metric for regression problems is RSquared, the value of RSquared ranges between 0 and 1. hodnota 1 je nejlepší možnou hodnotou nebo jinými slovy, které přiblíží hodnotu RSquared na 1, lepší váš model.1 is the best possible value or in other words the closer the value of RSquared to 1 the better your model is performing.

Další metriky nahlášené jako absolutní ztráta, čtvercová ztráta a ztráta služby RMS jsou další metriky, které lze použít k pochopení toho, jak model pracuje, a jeho porovnání s jinými regresními modely.Other metrics reported such as absolute-loss, squared-loss, and RMS loss are additional metrics, which can be used to understand how your model is performing and comparing it against other regression models.

Binární klasifikace (například Analýza mínění)Binary Classification (for example, Sentiment Analysis)

Výchozí metrika pro problémy s klasifikací je přesnost.The default metric for classification problems is accuracy. Přesnost definuje poměr správných předpovědi, které model provádí přes testovací datovou sadu.Accuracy defines the proportion of correct predictions your model is making over the test dataset. Nejblíže k 100% nebo 1,0 tím lépe.The closer to 100% or 1.0 the better it is.

Jiné metriky nahlášené jako AUC (oblast pod křivkou), které měří skutečnou kladnou rychlost vs. falešně pozitivní sazba by měla být větší než 0,50, aby bylo možné modely akceptovat.Other metrics reported such as AUC (Area under the curve), which measures the true positive rate vs. the false positive rate should be greater than 0.50 for models to be acceptable.

K řízení rovnováhy mezi přesností a odvoláním je možné použít další metriky, jako je například skóre F1.Additional metrics like F1 score can be used to control the balance between Precision and Recall.

Klasifikace více tříd (například klasifikace vydávání, klasifikace obrázků)Multi-Class Classification (for example, Issue Classification, Image Classification)

Výchozí metrika pro klasifikaci více tříd je mikropřesnost.The default metric for Multi-class classification is Micro Accuracy. Hodnota bližší pro mikropřesnost na 100% nebo 1,0 je lepší.The closer the Micro Accuracy to 100% or 1.0 the better it is.

Další důležitou metrikou pro klasifikaci více tříd je přesnost na makro, podobně jako u mikropřesnosti blíž k 1,0. lepší je.Another important metric for Multi-class classification is Macro-accuracy, similar to Micro-accuracy the closer to 1.0 the better it is. Dobrým způsobem, jak se domnívat o těchto dvou typech přesnosti, je:A good way to think about these two types of accuracy is:

  • Mikropřesnost: jak často se příchozí lístek klasifikuje do správného týmu?Micro-accuracy: How often does an incoming ticket get classified to the right team?
  • Přesnost maker: u průměrných týmů, jak často je příchozí lístek správný pro svůj tým?Macro-accuracy: For an average team, how often is an incoming ticket correct for their team?

Další informace o metrikách vyhodnoceníMore information on evaluation metrics

Další informace najdete v tématu metriky vyhodnocení modelu.For more information, see model evaluation metrics.

ZlepšitImprove

Pokud vaše skóre výkonu vašeho modelu není tak dobré, jak chcete, můžete:If your model performance score is not as good as you want it to be, you can:

  • Naučit se delší dobu.Train for a longer period of time. Pomocí automatizovaného strojového učení se navíc snaží vyzkoušet více algoritmů a nastavení.With more time, the automated machine learning engine to try more algorithms and settings.

  • Přidejte další data.Add more data. V některých případech se množství dat nestačí pro výuku vysoce kvalitního modelu strojového učení.Sometimes the amount of data is not sufficient to train a high-quality machine learning model.

  • Vyvážení datBalance your data. Pro úlohy klasifikace se ujistěte, že je sada školení vyrovnávána napříč kategoriemi.For classification tasks, make sure that the training set is balanced across the categories. Například pokud máte čtyři třídy pro 100 ukázky a dvě první třídy (značky 1 a značka2) se používají pro 90 záznamů, ale ostatní dvě (značka3 a tag4) se používají jenom u zbývajících 10 záznamů, nedostatek vyvážených dat může způsobit, že váš model bude bojovat do typu korespondenční ectly předpověď značka3 nebo tag4.For example, if you have four classes for 100 training examples, and the two first classes (tag1 and tag2) are used for 90 records, but the other two (tag3 and tag4) are only used on the remaining 10 records, the lack of balanced data may cause your model to struggle to correctly predict tag3 or tag4.

KódCode

Po fázi vyhodnocení výstup tvůrce modelů vytvoří soubor modelu a kód, který můžete použít k přidání modelu do aplikace.After the evaluation phase, Model Builder outputs a model file, and code that you can use to add the model to your application. Modely ML.NET se ukládají jako soubor zip.ML.NET models are saved as a zip file. Kód pro načtení a použití modelu je přidán jako nový projekt ve vašem řešení.The code to load and use your model is added as a new project in your solution. Tvůrce modelů také přidá ukázkovou konzolovou aplikaci, kterou můžete spustit pro zobrazení modelu v akci.Model Builder also adds a sample console app that you can run to see your model in action.

Kromě toho tvůrce modelů vypíše kód, který model vygeneroval, takže můžete pochopit postup, který se používá ke generování modelu.In addition, Model Builder outputs the code that generated the model, so that you can understand the steps used to generate the model. Můžete také použít kód školení modelu k revýuce modelu s novými daty.You can also use the model training code to retrain your model with new data.

Co dále?What's next?

Instalace rozšíření pro tvůrce modelů sady Visual StudioInstall the Model Builder Visual Studio extension

Vyzkoušejte cenový odhad nebo jakýkoli scénář regrese .Try price prediction or any regression scenario