De bias-variance trade-off

Modelvalidatie in Python

Kasey Jones

Data Scientist

Variantie

  • Variantie: het trainingsdata té precies volgen
    • Generaliseert slecht naar testdata
    • Lage trainingfout maar hoge testfout
    • Treedt op bij overfitting en hoge complexiteit
Modelvalidatie in Python

Overfitting modellen (hoge variantie)

Overfitting treedt op wanneer onze voorspellingen het trainingsdata té precies volgen. Als in een scatterplot alle voorspellingen exact op de echte waarden liggen, is er waarschijnlijk overfitting.

Modelvalidatie in Python

Bias

  • Bias: de relatie tussen data en respons niet vinden
    • Hoge training-/testfout
    • Treedt op bij underfitting
Modelvalidatie in Python

Underfitting modellen (hoge bias)

Underfitting treedt op wanneer er een relatie is tussen de te voorspellen variabele en de features, maar we die niet vinden.

Modelvalidatie in Python

Optimale prestaties

Modelvalidatie in Python

Parameters die over/underfitting veroorzaken

rfc = RandomForestClassifier(n_estimators=100, max_depth=4)
rfc.fit(X_train, y_train)

print("Training: {0:.2f}".format(accuracy_score(y_train, train_predictions)))
Training: .84
print("Testing: {0:.2f}".format(accuracy_score(y_test, test_predictions)))
Testing: .77
Modelvalidatie in Python
rfc = RandomForestClassifier(n_estimators=100, max_depth=14)
rfc.fit(X_train, y_train)

print("Training: {0:.2f}".format(accuracy_score(y_train, train_predictions)))
Training: 1.0
print("Testing: {0:.2f}".format(accuracy_score(y_test, test_predictions)))
Testing: .83
Modelvalidatie in Python
rfc = RandomForestClassifier(n_estimators=100, max_depth=10)
rfc.fit(X_train, y_train)

print("Training: {0:.2f}".format(accuracy_score(y_train, train_predictions)))
Training: .89
print("Testing: {0:.2f}".format(accuracy_score(y_test, test_predictions)))
Testing: .86
Modelvalidatie in Python

Onthoud: alleen jij kunt overfitting voorkomen!

Modelvalidatie in Python

Preparing Video For Download...