Så här väljer du algoritmer för Azure Machine LearningHow to select algorithms for Azure Machine Learning

En vanlig fråga är "vilken Machine Learning-algoritm ska jag använda?"A common question is “Which machine learning algorithm should I use?” Vilken algoritm du väljer beror huvudsakligen på två olika aspekter av ditt data vetenskaps scenario:The algorithm you select depends primarily on two different aspects of your data science scenario:

  • Vad du vill göra med dina data?What you want to do with your data? Mer specifikt, vad är den affärs fråga som du vill besvara genom att lära dig från dina tidigare data?Specifically, what is the business question you want to answer by learning from your past data?

  • Vilka är kraven för ditt data vetenskaps scenario?What are the requirements of your data science scenario? Mer specifikt, vad är precision, inlärnings tid, linearitet, antal parametrar och antalet funktioner som din lösning stöder?Specifically, what is the accuracy, training time, linearity, number of parameters, and number of features your solution supports?

Att tänka på när du väljer algoritmer: Vad vill du veta?

Affärs scenarier och lathund-bladet för Machine Learning algorithmBusiness scenarios and the Machine Learning Algorithm Cheat Sheet

I lathund-bladet Azure Machine Learning algorithm får du den första överväganden: vad du vill göra med dina data?The Azure Machine Learning Algorithm Cheat Sheet helps you with the first consideration: What you want to do with your data? Leta upp den uppgift som du vill göra Machine Learning i lathund-och leta reda på en Azure Machine Learning designer -algoritm för lösningen för förutsägelse analys.On the Machine Learning Algorithm Cheat Sheet, look for task you want to do, and then find a Azure Machine Learning designer algorithm for the predictive analytics solution.

Machine Learning designer innehåller en omfattande portfölj med algoritmer som besluts skogi flera klasser , rekommendations system, neurala Network regression, neurala nätverkför flera klasser och K-innebär klustring.Machine Learning designer provides a comprehensive portfolio of algorithms, such as Multiclass Decision Forest, Recommendation systems, Neural Network Regression, Multiclass Neural Network, and K-Means Clustering. Varje algoritm är utformad för att hantera en annan typ av Machine Learning-problem.Each algorithm is designed to address a different type of machine learning problem. Se algoritmen för Machine Learning designer och module för en fullständig lista tillsammans med dokumentation om hur varje algoritm fungerar och hur du kan finjustera parametrarna för att optimera algoritmen.See the Machine Learning designer algorithm and module reference for a complete list along with documentation about how each algorithm works and how to tune parameters to optimize the algorithm.

Anteckning

Hämta lathund-bladet för Machine Learning-algoritmen genom att gå till lathund-bladet för Azure Machine Learning-algoritmenTo download the machine learning algorithm cheat sheet, go to Azure Machine learning algorithm cheat sheet.

Förutom rikt linjerna i lathund-bladet Azure Machine Learning algorithm, bör du tänka på andra krav när du väljer en Machine Learning-algoritm för din lösning.Along with guidance in the Azure Machine Learning Algorithm Cheat Sheet, keep in mind other requirements when choosing a machine learning algorithm for your solution. Följande är ytterligare faktorer att överväga, till exempel precision, inlärnings tid, linearitet, antal parametrar och antal funktioner.Following are additional factors to consider, such as the accuracy, training time, linearity, number of parameters and number of features.

Jämförelse av Machine Learning-algoritmerComparison of machine learning algorithms

Vissa Learning-algoritmer gör särskilda antaganden om data strukturen eller önskade resultat.Some learning algorithms make particular assumptions about the structure of the data or the desired results. Om du kan hitta en som passar dina behov kan du ge dig mer användbara resultat, mer exakta förutsägelser eller snabbare inlärnings tider.If you can find one that fits your needs, it can give you more useful results, more accurate predictions, or faster training times.

I följande tabell sammanfattas några av de viktigaste egenskaperna för algoritmer från klassificerings-, Regressions-och kluster familjer:The following table summarizes some of the most important characteristics of algorithms from the classification, regression, and clustering families:

IntegritetsalgoritmAlgorithm NoggrannhetAccuracy TräningstidTraining time LinearitetLinearity ParametrarParameters KommentarerNotes
Klassificerings familjClassification family
Logistik regression med två klasserTwo-Class logistic regression BraGood SnabbFast JaYes 44
Besluts skog med två klasserTwo-class decision forest UtmärktExcellent MedelModerate NejNo 55 Visar långsamma Poäng tider.Shows slower scoring times. Föreslå att inte arbeta med En-mot-alla – multiklass, på grund av långsammare poängsättnings tider som orsakas av Trappstegs låsning i ackumulerade träd förutsägelserSuggest not working with One-vs-All Multiclass, because of slower scoring times caused by tread locking in accumulating tree predictions
Besluts träd med två klasserTwo-class boosted decision tree UtmärktExcellent MedelModerate NejNo 66 Stor minnes storlekLarge memory footprint
Neurala nätverk med två klasserTwo-class neural network BraGood MedelModerate NejNo 88
Genomsnittlig Perceptron i två klasserTwo-class averaged perceptron BraGood MedelModerate JaYes 44
Dubbelriktad Vector-datorTwo-class support vector machine BraGood SnabbFast JaYes 55 Lämpligt för stora funktions uppsättningarGood for large feature sets
Logistik regression med multiklassMulticlass logistic regression BraGood SnabbFast JaYes 44
Besluts skog med flera klasserMulticlass decision forest UtmärktExcellent MedelModerate NejNo 55 Visar långsamma Poäng tiderShows slower scoring times
Besluts träd med djup klassMulticlass boosted decision tree UtmärktExcellent MedelModerate NejNo 66 Vi vill förbättra noggrannheten med liten risk för mindre täckningTends to improve accuracy with some small risk of less coverage
Neurala nätverk i multiklassMulticlass neural network BraGood MedelModerate NejNo 88
En-vs-all multiklassOne-vs-all multiclass - - - - Se egenskaperna för den två klass metoden som valtsSee properties of the two-class method selected
Regressions familjRegression family
Linjär regressionLinear regression BraGood SnabbFast JaYes 44
Besluts skogs regressionDecision forest regression UtmärktExcellent MedelModerate NejNo 55
Regressions analys av besluts trädBoosted decision tree regression UtmärktExcellent MedelModerate NejNo 66 Stor minnes storlekLarge memory footprint
Neurala nätverks regressionNeural network regression BraGood MedelModerate NejNo 88
Kluster serieClustering family
K-innebär klustringK-means clustering UtmärktExcellent MedelModerate JaYes 88 En klustrad algoritmA clustering algorithm

Krav för ett data vetenskaps scenarioRequirements for a data science scenario

När du vet vad du vill göra med dina data måste du fastställa ytterligare krav för din lösning.Once you know what you want to do with your data, you need to determine additional requirements for your solution.

Gör alternativ och eventuellt kompromisser för följande krav:Make choices and possibly trade-offs for the following requirements:

  • NoggrannhetAccuracy
  • TräningstidTraining time
  • LinearitetLinearity
  • Antal parametrarNumber of parameters
  • Antal funktionerNumber of features

NoggrannhetAccuracy

Noggrannhet i Machine Learning mäter effektiviteten hos en modell som den andel av det faktiska resultatet av det totala antalet fall.Accuracy in machine learning measures the effectiveness of a model as the proportion of true results to total cases. I Machine Learning designer beräknar modulen utvärdera modell en uppsättning utvärderings mått som är bransch standard.In Machine Learning designer, the Evaluate Model module computes a set of industry-standard evaluation metrics. Du kan använda den här modulen för att mäta noggrannheten för en utbildad modell.You can use this module to measure the accuracy of a trained model.

Det är inte alltid nödvändigt att få det mest exakta svaret.Getting the most accurate answer possible isn’t always necessary. Ibland är en uppskattning tillräckligt, beroende på vad du vill använda det för.Sometimes an approximation is adequate, depending on what you want to use it for. Om så är fallet kanske du kan minska bearbetnings tiden dramatiskt genom att hålla mer ungefärliga metoder.If that is the case, you may be able to cut your processing time dramatically by sticking with more approximate methods. Ungefärliga metoder tenderar också att undvika överanpassning.Approximate methods also naturally tend to avoid overfitting.

Det finns tre sätt att använda modulen utvärdera modell:There are three ways to use the Evaluate Model module:

  • Generera poäng över dina utbildnings data för att utvärdera modellenGenerate scores over your training data in order to evaluate the model
  • Generera poäng i modellen, men jämför dessa resultat med resultat från en reserverad test uppsättningGenerate scores on the model, but compare those scores to scores on a reserved testing set
  • Jämför poängen för två olika men relaterade modeller med samma uppsättning dataCompare scores for two different but related models, using the same set of data

En fullständig lista över mått och metoder som du kan använda för att utvärdera maskin inlärnings modellens exakthet finns i utvärdera modell-modulen.For a complete list of metrics and approaches you can use to evaluate the accuracy of machine learning models, see Evaluate Model module.

TräningstidTraining time

I övervakad utbildning innebär utbildningen att använda historiska data för att bygga en maskin inlärnings modell som minimerar fel.In supervised learning, training means using historical data to build a machine learning model that minimizes errors. Antalet minuter eller timmar som krävs för att träna en modell är ett stort antal olika algoritmer.The number of minutes or hours necessary to train a model varies a great deal between algorithms. Utbildnings tiden är ofta nära knuten till noggrannhet. en som vanligt vis medföljer den andra.Training time is often closely tied to accuracy; one typically accompanies the other.

Dessutom är vissa algoritmer mer känsliga för antalet data punkter än andra.In addition, some algorithms are more sensitive to the number of data points than others. Du kan välja en speciell algoritm eftersom du har en tids gräns, särskilt när data uppsättningen är stor.You might choose a specific algorithm because you have a time limitation, especially when the data set is large.

I Machine Learning designer är det vanligt vis en tre stegs process att skapa och använda en Machine Learning-modell:In Machine Learning designer, creating and using a machine learning model is typically a three-step process:

  1. Konfigurera en modell genom att välja en viss typ av algoritm och definiera sedan dess parametrar eller dess egenskaper.Configure a model, by choosing a particular type of algorithm, and then defining its parameters or hyperparameters.

  2. Ange en data mängd som är märkt och har data som är kompatibla med algoritmen.Provide a dataset that is labeled and has data compatible with the algorithm. Anslut både data och modellen för att träna modulen modell.Connect both the data and the model to Train Model module.

  3. När utbildningen har slutförts använder du den tränade modellen med en av poängsättnings-modulerna för att göra förutsägelser på nya data.After training is completed, use the trained model with one of the scoring modules to make predictions on new data.

LinearitetLinearity

Linjärt i statistik och maskin inlärning innebär att det finns en linjär relation mellan en variabel och en konstant i din data uppsättning.Linearity in statistics and machine learning means that there is a linear relationship between a variable and a constant in your dataset. Algoritmer för linjär klassificering förutsätter till exempel att klasser kan avgränsas med en rak linje (eller dess högre dimensionella analoga).For example, linear classification algorithms assume that classes can be separated by a straight line (or its higher-dimensional analog).

Många Machine Learning-algoritmer använder linjäritet.Lots of machine learning algorithms make use of linearity. I Azure Machine Learning designer är de:In Azure Machine Learning designer, they include:

Algoritmer för linjär regression förutsätter att data trender följer en rak linje.Linear regression algorithms assume that data trends follow a straight line. Detta antagande är inte skadat för vissa problem, men för andra minskar precisionen.This assumption isn't bad for some problems, but for others it reduces accuracy. Även om nack delarna är linjära algoritmer populära som en första strategi.Despite their drawbacks, linear algorithms are popular as a first strategy. De brukar vara algorithmically enkla och snabba att träna.They tend to be algorithmically simple and fast to train.

Streckad klass-gränser

Kant linjesom inte är linjär: förlitar sig på en algoritm för linjär klassificering skulle resultera i låg exakthet.Nonlinear class boundary: Relying on a linear classification algorithm would result in low accuracy.

Data med en linjär trend

Data med en linjär trend: omdu använder en linjär Regressions metod genereras mycket större fel än vad som behövs.Data with a nonlinear trend: Using a linear regression method would generate much larger errors than necessary.

Antal parametrarNumber of parameters

Parametrar är de rattar som en data expert kommer att sätta igång när en algoritm konfigureras.Parameters are the knobs a data scientist gets to turn when setting up an algorithm. De är tal som påverkar algoritmens beteende, t. ex. fel tolerans eller antal iterationer eller alternativ mellan varianter av hur algoritmen fungerar.They are numbers that affect the algorithm’s behavior, such as error tolerance or number of iterations, or options between variants of how the algorithm behaves. Algoritmens inlärnings tid och exakthet kan ibland vara känsligt för att bara få rätt inställningar.The training time and accuracy of the algorithm can sometimes be sensitive to getting just the right settings. Vanligt vis kräver algoritmer med ett stort antal parametrar den vanligaste utvärderings versionen och fel för att hitta en lämplig kombination.Typically, algorithms with large numbers of parameters require the most trial and error to find a good combination.

Det kan också finnas i modulen för att finjustera modells parametrar i Machine Learning designer: målet för den här modulen är att fastställa de optimala egenskaperna för en maskin inlärnings modell.Alternatively, there is the Tune Model Hyperparameters module in Machine Learning designer: The goal of this module is to determine the optimum hyperparameters for a machine learning model. Modulen bygger och testar flera modeller genom att använda olika kombinationer av inställningar.The module builds and tests multiple models by using different combinations of settings. Den jämför mått över alla modeller för att hämta kombinationer av inställningar.It compares metrics over all models to get the combinations of settings.

Även om det är ett bra sätt att se till att du har använt parameter utrymmet, ökar den tid som krävs för att träna en modell exponentiellt med antalet parametrar.While this is a great way to make sure you’ve spanned the parameter space, the time required to train a model increases exponentially with the number of parameters. Det finns många parametrar som vanligt vis indikerar att en algoritm har större flexibilitet.The upside is that having many parameters typically indicates that an algorithm has greater flexibility. Det kan ofta uppnå mycket bra precision, förutsatt att du kan hitta rätt kombination av parameter inställningar.It can often achieve very good accuracy, provided you can find the right combination of parameter settings.

Antal funktionerNumber of features

I Machine Learning är en funktion en kvantifierbar variabel av fenomenet som du försöker analysera.In machine learning, a feature is a quantifiable variable of the phenomenon you are trying to analyze. För vissa typer av data kan antalet funktioner vara mycket stort jämfört med antalet data punkter.For certain types of data, the number of features can be very large compared to the number of data points. Detta är ofta fallet med genetiska data eller text data.This is often the case with genetics or textual data.

Ett stort antal funktioner kan bli rörigt ned vissa Learning-algoritmer, vilket gör utbildnings tiden unfeasibly lång.A large number of features can bog down some learning algorithms, making training time unfeasibly long. Support Vector-datorer är särskilt väl lämpade för scenarier med ett stort antal funktioner.Support vector machines are particularly well suited to scenarios with a high number of features. Därför har de använts i många program från informations hämtning till text och bild klassificering.For this reason, they have been used in many applications from information retrieval to text and image classification. Support vektor datorer kan användas för både klassificerings-och Regressions uppgifter.Support vector machines can be used for both classification and regression tasks.

Val av funktioner syftar på hur du tillämpar statistiska tester på indata, baserat på en angiven utmatning.Feature selection refers to the process of applying statistical tests to inputs, given a specified output. Målet är att avgöra vilka kolumner som är mer förutsägbara för utdata.The goal is to determine which columns are more predictive of the output. Den filterbaserade modulen för funktions val i Machine Learning designer innehåller flera algoritmer för val av funktioner som du kan välja mellan.The Filter Based Feature Selection module in Machine Learning designer provides multiple feature selection algorithms to choose from. Modulen innehåller korrelations metoder som Pearson-korrelation och chi2-värden.The module includes correlation methods such as Pearson correlation and chi-squared values.

Du kan också använda funktionen för permutations prioritet för att beräkna en uppsättning funktions resultat för din data uppsättning.You can also use the Permutation Feature Importance module to compute a set of feature importance scores for your dataset. Du kan sedan använda dessa Poäng för att hjälpa dig att fastställa de bästa funktionerna i en modell.You can then leverage these scores to help you determine the best features to use in a model.

Nästa stegNext steps