Problémy s oddělenými testovacími sadami

Validace modelů v Pythonu

Kasey Jones

Data Scientist

Přechod na validaci

Tradiční rozdělení na tréninková a testovací data: většina dat slouží k trénování, menší část pouze k testování.

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
Validace modelů v Pythonu

Tradiční rozdělení trénovacích dat

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

Překrývající se bonbóny:

print(len([i for i in s1.index if i in s2.index]))
39
Validace modelů v Pythonu

Tradiční rozdělení trénovacích dat

Čokoládové bonbóny:

print(s1.chocolate.value_counts()[0])
print(s2.chocolate.value_counts()[0])
34
30
Validace modelů v Pythonu

Na rozdělení záleží

Testovací chyba – vzorek 1

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

Testovací chyba – vzorek 2

print('Testing error: {0:.2f}'.format(mae(s2_y_test, rfr.predict(s2_X_test))))
11.56
Validace modelů v Pythonu

Tréninková, validační a testovací sada

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
Validace modelů v Pythonu

Kolo 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
Validace modelů v Pythonu

Cvičení s testovací sadou

Validace modelů v Pythonu

Preparing Video For Download...