IniziaInizia gratis

Modeling senza normalizzazione

Vediamo cosa può succedere all'accuratezza del tuo modello se provi a modellare i dati senza prima applicare una qualche forma di standardizzazione.

Qui abbiamo un sottoinsieme del dataset wine. Una delle colonne, Proline, ha una varianza estremamente elevata rispetto alle altre. Questo è un esempio in cui una tecnica come la normalizzazione logaritmica tornerebbe utile, e la imparerai nella prossima sezione.

A questo punto il processo di training dei modelli con scikit-learn dovrebbe esserti familiare, quindi non entreremo troppo nei dettagli. Hai già a disposizione un modello k-nearest neighbors (knn), oltre agli insiemi X e y necessari per eseguire fit e valutazione.

Questo esercizio fa parte del corso

Preprocessing per il Machine Learning in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Suddividi gli insiemi X e y in training e test set, assicurando che le etichette di classe siano distribuite equamente in entrambi i set.
  • Esegui il fit del modello knn sui dati di training (feature ed etichette).
  • Stampa l'accuratezza sul test set del modello knn usando il metodo .score().

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Split the dataset into training and test sets
X_train, X_test, y_train, y_test = ____(____, ____, stratify=____, random_state=42)

knn = KNeighborsClassifier()

# Fit the knn model to the training data
knn.____(____, ____)

# Score the model on the test data
print(knn.____(____))
Modifica ed esegui il codice