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()
, samt .fit()
som ärvs från alla estimatorer.
.fit()
När data har preprocessats och är 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 hjälp av .fit(X, y)
.
För att träna en modell för en supervised learning-uppgift (t.ex. regression, klassificering) måste både X
och y
skickas till .fit()
-metoden.
Om du arbetar med en unsupervised learning-uppgift (t.ex. klustring) krävs inga märkta data, så du kan endast skicka variabeln X
, .fit(X)
. Att använda .fit(X, y)
kommer dock inte att ge ett felmeddelande. Modellen kommer helt enkelt att ignorera variabeln y
.
Under träningen lär sig modellen allt den behöver 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änas långsammare, medan andra tränas 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 kommer att förklara 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ålvariabelvärden (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 metrik noggrannhet för klassificering.
X_test
avser den delmängd av datasetet, 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 den motsvarande delmängden av sanna etiketter för X_test
. Tillsammans bedömer de hur väl modellen förutsäger ny, tidigare 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()
, samt .fit()
som ärvs från alla estimatorer.
.fit()
När data har preprocessats och är 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 hjälp av .fit(X, y)
.
För att träna en modell för en supervised learning-uppgift (t.ex. regression, klassificering) måste både X
och y
skickas till .fit()
-metoden.
Om du arbetar med en unsupervised learning-uppgift (t.ex. klustring) krävs inga märkta data, så du kan endast skicka variabeln X
, .fit(X)
. Att använda .fit(X, y)
kommer dock inte att ge ett felmeddelande. Modellen kommer helt enkelt att ignorera variabeln y
.
Under träningen lär sig modellen allt den behöver 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änas långsammare, medan andra tränas 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 kommer att förklara 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ålvariabelvärden (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 metrik noggrannhet för klassificering.
X_test
avser den delmängd av datasetet, 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 den motsvarande delmängden av sanna etiketter för X_test
. Tillsammans bedömer de hur väl modellen förutsäger ny, tidigare osedd data.
Tack för dina kommentarer!