Noggrannhetsmått: regressionsmodeller

Modellvalidering i Python

Kasey Jones

Data Scientist

Regressionsmodeller

Regressionsmodeller förutsäger kontinuerliga variabler, till exempel antal poäng, antal liter eller antal valpar!

Modellvalidering i Python

Medelabsolutfel (MAE)

 

$$ MAE = \frac{\sum_{i=1}^{n} |y_i - \hat{y}_i|}{n} $$

  • Enklaste och mest intuitiva måttet
  • Behandlar alla datapunkter lika
  • Inte känslig för extremvärden
Modellvalidering i Python

Medelkvadratfel (MSE)

 

$$ MSE = \frac{\sum_{i=1}^{n} (y_i - \hat{y}_i) ^2}{n} $$

  • Vanligaste regressionsmåttet
  • Extremvärden får större påverkan på det totala felet
  • Oväntade utfall kan ge stora prediktionsfel
Modellvalidering i Python

MAE vs. MSE

  • Noggrannhetsmått är alltid applikationsspecifika
  • MAE och MSE har olika enheter och bör inte jämföras direkt
Modellvalidering i Python

Medelabsolutfel

rfr = RandomForestRegressor(n_estimators=500, random_state=1111)
rfr.fit(X_train, y_train)
test_predictions = rfr.predict(X_test)

sum(abs(y_test - test_predictions))/len(test_predictions)
9.99
from sklearn.metrics import mean_absolute_error
mean_absolute_error(y_test, test_predictions)
9.99
Modellvalidering i Python

Medelkvadratfel

sum(abs(y_test - test_predictions)**2)/len(test_predictions)
141.4
from sklearn.metrics import mean_squared_error
mean_squared_error(y_test, test_predictions)
141.4
Modellvalidering i Python

Noggrannhet för en delmängd av data

chocolate_preds = rfr.predict(X_test[X_test[:, 1] == 1])
mean_absolute_error(y_test[X_test[:, 1] == 1], chocolate_preds)
8.79
nonchocolate_preds = rfr.predict(X_test[X_test[:, 1] == 0])
mean_absolute_error(y_test[X_test[:, 1] == 0], nonchocolate_preds)
10.99
Modellvalidering i Python

Nu kör vi en övning!

Modellvalidering i Python

Preparing Video For Download...