Aan de slagGa gratis aan de slag

Nauwkeurigheid na dimensionaliteitsreductie

Je gaat de overfitting verminderen met behulp van dimensionaliteitsreductie. In dit geval pas je een vrij drastische vorm toe door slechts één kolom te selecteren die goede informatie bevat om tussen geslachten te onderscheiden. Je herhaalt de stappen voor de train-test-split, het fitten van het model en het maken van voorspellingen om de nauwkeurigheid op de test- versus trainingsdata te vergelijken.

Alle relevante pakketten en y zijn al ingeladen.

Deze oefening maakt deel uit van de cursus

Dimensionality Reduction in Python

Cursus bekijken

Oefeninstructies

  • Selecteer alleen de nekomtrek-kolom ('neckcircumferencebase') uit ansur_df.
  • Splits de data, maak een classifier aan en fit de data. Dit is al voor je gedaan.
  • Bereken opnieuw de nauwkeurigheidsscores op zowel de trainings- als de testset.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Assign just the 'neckcircumferencebase' column from ansur_df to X
X = ansur_df[[____]]

# Split the data, instantiate a classifier and fit the data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
svc = SVC()
svc.fit(X_train, y_train)

# Calculate accuracy scores on both train and test data
accuracy_train = accuracy_score(____, svc.predict(____))
accuracy_test = accuracy_score(____, svc.predict(____))

print(f"{accuracy_test:.1%} accuracy on test set vs. {accuracy_train:.1%} on training set")
Code bewerken en uitvoeren