Überwachtes Lernen mit scikit-learn
George Boorman
Core Curriculum Manager, DataCamp
Leistung eines Modells hängt von der Aufteilung der Daten ab
Eventuell nicht repräsentativ für die Fähigkeit des Modells, Regeln für neue Daten zu verallgemeinern
Lösung: Kreuzvalidierung!
5 Teilmengen = 5-fache KV
10 Teilmengen = 10-fache KV
k Teilmengen = k-fache KV
Mehr Teilmengen = höherer Rechenaufwand
from sklearn.model_selection import cross_val_score, KFold
kf = KFold(n_splits=6, shuffle=True, random_state=42)
reg = LinearRegression()
cv_results = cross_val_score(reg, X, y, cv=kf)
print(cv_results)
[0.70262578, 0.7659624, 0.75188205, 0.76914482, 0.72551151, 0.73608277]
print(np.mean(cv_results), np.std(cv_results))
0.7418682216666667 0.023330243960652888
print(np.quantile(cv_results, [0.025, 0.975]))
array([0.7054865, 0.76874702])
Überwachtes Lernen mit scikit-learn