Křížová validace pomocí sklearn
Jak jsme si vysvětlili ve 2. kapitole, přeučení modelu na trénovacích datech (overfitting) je v analýze dat běžný problém. Nastává tehdy, když si model „zapamatuje" trénovací data příliš podrobně: na nich dosahuje skvělých výsledků, ale mimo ně selhává.
Technika rozdělení na trénovací a testovací sadu, kterou jsi poznal/a ve 2. kapitole, sice chrání před přeučením na trénovacích datech, ale ladění hyperparametrů může vést k přeučení na testovací části – model je totiž postupně přizpůsobován tak, aby dosahoval co nejlepších výsledků právě na ní. Proto se doporučuje ověřovat model na více různých testovacích sadách. K tomu slouží k-násobná křížová validace (k-fold cross-validation):
- rozdělí dataset na trénovací a testovací sadu
- natrénuje model, provede predikce a vypočítá skóre (lze zvolit přesnost, preciznost, recall…)
- celý proces zopakuje k-krát
- vrátí průměr všech k skóre
V tomto cvičení použiješ křížovou validaci na našem datasetu a výsledky vyhodnotíš pomocí funkce cross_val_score.
Toto cvičení je součástí kurzu
HR Analytics: Predicting Employee Churn in Python
Pokyny k cvičení
- Naimportuj funkci pro křížovou validaci
cross_val_score()z modulusklearn.model_selection. - Vypiš skóre křížové validace svého modelu s nastavením 10 foldů pomocí hyperparametru
cv.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Import the function for implementing cross validation
from sklearn.model_selection import ____
# Use that function to print the cross validation score for 10 folds
print(____(model,features,target,____=10))