Modeller
Grunderna i datapreprocessering och konstruktion av pipelines har nu behandlats. Nästa steg är modellering.
En modell i Scikit-learn är en estimator som tillhandahåller metoderna .predict() och .score(), tillsammans med .fit() som ärvs från alla estimatorer.
.fit()
När data är förbehandlad och redo att användas i modellen, är det första steget i att bygga en modell träning av en modell. Detta görs med .fit(X, y).
För att träna en modell som utför en supervised learning-uppgift (t.ex. regression, klassificering) måste både X och y skickas till .fit()-metoden.
Vid en unsupervised learning-uppgift (t.ex. klustring) krävs inga märkta data, så det räcker att endast skicka variabeln X, .fit(X). Om du ändå använder .fit(X, y) kommer det inte att ge ett felmeddelande. Modellen kommer helt enkelt att ignorera variabeln y.
Under träningen lär sig modellen allt som behövs för att göra prediktioner. Vad modellen lär sig och hur lång tid träningen tar beror på vald algoritm. För varje uppgift finns det många modeller tillgängliga, baserade på olika algoritmer. Vissa tränar långsammare, andra snabbare.
Träning är dock generellt den mest tidskrävande delen av maskininlärning. Om träningsmängden är stor kan det ta minuter, timmar eller till och med dagar att träna en modell.
.predict()
När modellen har tränats med .fit()-metoden kan den utföra prediktioner. Prediktion görs enkelt genom att anropa .predict()-metoden:
model.fit(X, y) # Train a model
y_pred = model.predict(X_new) # Get a prediction
Vanligtvis vill du förutsäga ett mål för nya instanser, X_new.
.score()
Metoden .score() används för att mäta en tränad modells prestanda. Vanligtvis beräknas detta på testuppsättningen (de följande kapitlen förklarar vad det är). Här är syntaxen:
model.fit(X, y) # Training the model
model.score(X_test, y_test)
Metoden .score() kräver faktiska målvariabler (y_test i exemplet). Den beräknar prediktionen för X_test-instanser och jämför denna prediktion med det sanna målet (y_test) med hjälp av någon metrisk metod. Som standard är denna metrisk metod noggrannhet för klassificering.
X_test avser den delmängd av datamängden, känd som testuppsättningen, som används för att utvärdera en modells prestanda efter träning. Den innehåller funktionerna (inmatningsdata). y_test är motsvarande delmängd av sanna etiketter för X_test. Tillsammans utvärderar de hur väl modellen förutsäger ny, osedd data.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 3.13
Modeller
Svep för att visa menyn
Grunderna i datapreprocessering och konstruktion av pipelines har nu behandlats. Nästa steg är modellering.
En modell i Scikit-learn är en estimator som tillhandahåller metoderna .predict() och .score(), tillsammans med .fit() som ärvs från alla estimatorer.
.fit()
När data är förbehandlad och redo att användas i modellen, är det första steget i att bygga en modell träning av en modell. Detta görs med .fit(X, y).
För att träna en modell som utför en supervised learning-uppgift (t.ex. regression, klassificering) måste både X och y skickas till .fit()-metoden.
Vid en unsupervised learning-uppgift (t.ex. klustring) krävs inga märkta data, så det räcker att endast skicka variabeln X, .fit(X). Om du ändå använder .fit(X, y) kommer det inte att ge ett felmeddelande. Modellen kommer helt enkelt att ignorera variabeln y.
Under träningen lär sig modellen allt som behövs för att göra prediktioner. Vad modellen lär sig och hur lång tid träningen tar beror på vald algoritm. För varje uppgift finns det många modeller tillgängliga, baserade på olika algoritmer. Vissa tränar långsammare, andra snabbare.
Träning är dock generellt den mest tidskrävande delen av maskininlärning. Om träningsmängden är stor kan det ta minuter, timmar eller till och med dagar att träna en modell.
.predict()
När modellen har tränats med .fit()-metoden kan den utföra prediktioner. Prediktion görs enkelt genom att anropa .predict()-metoden:
model.fit(X, y) # Train a model
y_pred = model.predict(X_new) # Get a prediction
Vanligtvis vill du förutsäga ett mål för nya instanser, X_new.
.score()
Metoden .score() används för att mäta en tränad modells prestanda. Vanligtvis beräknas detta på testuppsättningen (de följande kapitlen förklarar vad det är). Här är syntaxen:
model.fit(X, y) # Training the model
model.score(X_test, y_test)
Metoden .score() kräver faktiska målvariabler (y_test i exemplet). Den beräknar prediktionen för X_test-instanser och jämför denna prediktion med det sanna målet (y_test) med hjälp av någon metrisk metod. Som standard är denna metrisk metod noggrannhet för klassificering.
X_test avser den delmängd av datamängden, känd som testuppsättningen, som används för att utvärdera en modells prestanda efter träning. Den innehåller funktionerna (inmatningsdata). y_test är motsvarande delmängd av sanna etiketter för X_test. Tillsammans utvärderar de hur väl modellen förutsäger ny, osedd data.
Tack för dina kommentarer!