Önyargı-varyans dengesi

Python'da Model Doğrulama

Kasey Jones

Data Scientist

Varyans

  • Varyans: eğitim verisini aşırı yakından izlemek
    • Test verisine genelleyemez
    • Düşük eğitim hatası, yüksek test hatası
    • Model aşırı öğrenmiş ve karmaşıklığı yüksek olduğunda görülür
Python'da Model Doğrulama

Aşırı öğrenmiş modeller (yüksek varyans)

Aşırı öğrenme, tahminlerimiz eğitim verisini fazla yakından izlediğinde oluşur. Bir saçılım grafiğinde tüm tahminler gerçek değerlere tam hizalıysa, muhtemelen aşırı öğrenmişizdir.

Python'da Model Doğrulama

Önyargı

  • Önyargı: veri ile yanıt arasındaki ilişkiyi bulamamak
    • Yüksek eğitim/test hatası
    • Modeller eksik öğrenmişken görülür
Python'da Model Doğrulama

Eksik öğrenmiş modeller (yüksek önyargı)

Eksik öğrenme, tahmin edeceğimiz değişken ile modeldeki açıklayıcı değişkenler arasında ilişki varken bu ilişkiyi bulamadığımızda oluşur.

Python'da Model Doğrulama

En iyi performans

Python'da Model Doğrulama

Aşırı/eksik öğrenmeye neden olan parametreler

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
Python'da Model Doğrulama
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
Python'da Model Doğrulama
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
Python'da Model Doğrulama

Unutmayın, aşırı öğrenmeyi yalnız siz önleyebilirsiniz!

Python'da Model Doğrulama

Preparing Video For Download...