Les limites des jeux de validation (holdout)

Validation de modèles en Python

Kasey Jones

Data Scientist

Validation de transition

La répartition traditionnelle sépare la plupart des données pour l'entraînement et une petite portion seulement pour le test.

X_train, X_val, y_train, y_val =
    train_test_split(X, y,
    test_size=0.2)

rf = RandomForestRegressor()

rf.fit(X_train, y_train)

out_of_sample = rf.predict(X_test) print(mae(y_test, out_of_sample))
10.24
Validation de modèles en Python

Découpages d'entraînement traditionnels

cd = pd.read_csv("candy-data.csv")
s1 = cd.sample(60, random_state=1111)
s2 = cd.sample(60, random_state=1112)

Bonbons qui se chevauchent :

print(len([i for i in s1.index if i in s2.index]))
39
Validation de modèles en Python

Découpages d'entraînement traditionnels

Bonbons au chocolat :

print(s1.chocolate.value_counts()[0])
print(s2.chocolate.value_counts()[0])
34
30
Validation de modèles en Python

Le découpage compte

Erreur de test de l'échantillon 1

print('Testing error: {0:.2f}'.format(mae(s1_y_test, rfr.predict(s1_X_test))))
10.32

Erreur de test de l'échantillon 2

print('Testing error: {0:.2f}'.format(mae(s2_y_test, rfr.predict(s2_X_test))))
11.56
Validation de modèles en Python

Entraînement, validation, test

X_temp, X_val, y_temp, y_val = train_test_split(..., random_state=1111)
X_train, X_test, y_train, y_test = train_test_split(..., random_state=1111)

rfr = RandomForestRegressor(n_estimators=25, random_state=1111, max_features=4)
rfr.fit(X_train, y_train)

print('Validation error: {0:.2f}'.format(mae(y_test, rfr.predict(X_test))))
9.18
print('Testing error: {0:.2f}'.format(mae(y_val, rfr.predict(X_val))))
8.98
Validation de modèles en Python

Ronde 2

X_temp, X_val, y_temp, y_val = train_test_split(..., random_state=1171)
X_train, X_test, y_train, y_test = train_test_split(..., random_state=1171)

rfr = RandomForestRegressor(n_estimators=25, random_state=1111, max_features=4)
rfr.fit(X_train, y_train)

print('Validation error: {0:.2f}'.format(mae(y_test, rfr.predict(X_test))))
8.73
print('Testing error: {0:.2f}'.format(mae(y_val, rfr.predict(X_val))))
10.91
Validation de modèles en Python

Exercices sur les jeux de validation (holdout)

Validation de modèles en Python

Preparing Video For Download...