Začněte nyníZačněte zdarma

Rozdělení dat

Aby bylo možné model správně vyhodnotit, lze data rozdělit na trénovací a testovací sadu. Trénovací sada obsahuje data, na kterých se model učí, a testovací sada slouží k jeho vyhodnocení. Toto rozdělení probíhá náhodně – pokud je ale výskyt cílové hodnoty nízký, může být nutné použít stratifikaci, tedy zajistit, aby trénovací i testovací sada obsahovaly stejné procento cílových hodnot.

V tomto cvičení rozdělíš data se stratifikací a ověříš, že trénovací i testovací sada mají stejný podíl cílových hodnot. Metoda train_test_split je již naimportována a DataFramy X a y jsou dostupné v tvém pracovním prostředí.

Toto cvičení je součástí kurzu

Introduction to Predictive Analytics in Python

Zobrazit kurz

Pokyny k cvičení

  • Rozděl tyto DataFramy pomocí metody train_test_split se stratifikací. Zajisti, aby trénovací a testovací sada byly stejně velké a měly stejný podíl cílových hodnot.
  • Vypočítej podíl cílových hodnot v trénovací sadě. Jde o počet cílových hodnot v trénovací sadě dělený celkovým počtem pozorování v trénovací sadě.
  • Vypočítej podíl cílových hodnot v testovací sadě.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Load the partitioning module
from sklearn.model_selection import train_test_split

# Create DataFrames with variables and target
X = basetable.drop("target", 1)
y = basetable["target"]

# Carry out 50-50 partititioning with stratification
X_train, X_test, y_train, y_test = ____(X, y, test_size = ____, stratify = ____)

# Create the final train and test basetables
train = pd.concat([X_train, y_train], axis=1)
test = pd.concat([X_test, y_test], axis=1)

# Check whether train and test have same percentage targets
print(round(sum(train[____])/len(____), 2))
print(round(sum(test[____])/len(____), 2))
Upravit a spustit kód