
Questo secondo modulo si concentra sul concetto di punteggio dei modelli, inclusi il punteggio del test e il punteggio del treno. Tali punteggi vengono quindi utilizzati per definire l’overfitting e l’underfitting, nonché i concetti di bias e varianza.
Vedremo anche come ispezionare le prestazioni del modello rispetto alla loro complessità e al numero di campioni di input.
Tutte le immagini per autore.
Se non hai capito, ti consiglio vivamente il mio primo post di questa serie: sarà molto più semplice seguirlo:
Il primo concetto di cui voglio parlare sono punteggio del treno e punteggio del test. Il punteggio è un modo per esprimere numericamente le prestazioni di un modello. Per calcolare tale prestazione, utilizziamo una funzione di punteggio, che aggrega la “distanza” o l’“errore” tra ciò che è stato previsto dal modello rispetto a ciò che è la verità di base. Per esempio:
model = LinearRegressor()
model.fit(X_train, y_train)
y_predicted = model.predict(X_test)
test_score = some_score_function(y_predicted, y_test)
In sklearn, tutti i modelli (chiamati anche stimatori) forniscono un modo ancora più rapido per calcolare un punteggio utilizzando il modello:
# the model will computed the predicted y-value from X_test,
# and compare it to y_test with a score function
test_score = model.score(X_test, y_test)
train_score = model.score(X_train, y_train)
La funzione di punteggio effettiva del modello dipende dal modello e dal tipo di problema che è progettato per risolvere. Ad esempio, un regressore lineare è il coefficiente R² (regressione numerica) mentre un classificatore del vettore di supporto (classicazione) utilizzerà l’accuratezza che è fondamentalmente il numero di buone previsioni di classe.
Fonte: towardsdatascience.com