IniziaInizia gratis

Campionamento stratificato

Ora sai che la distribuzione delle etichette di classe nella colonna category_desc dell'insieme di dati volunteer è sbilanciata. Se vuoi addestrare un modello per prevedere category_desc, devi assicurarti che il modello venga addestrato su un campione di dati rappresentativo dell’intero insieme di dati. Il campionamento stratificato è un ottimo modo per ottenere questo risultato!

Questo esercizio fa parte del corso

Preprocessing per il Machine Learning in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Crea un DataFrame di feature, X, con tutte le colonne tranne category_desc.
  • Crea un DataFrame di etichette, y, dalla colonna category_desc.
  • Suddividi X e y in set di training e test, assicurandoti che la distribuzione delle classi nelle etichette sia la stessa in entrambi i set
  • Stampa le etichette e i conteggi in y_train usando .value_counts().

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Create a DataFrame with all columns except category_desc
X = volunteer.____(____, axis=____)

# Create a category_desc labels dataset
y = ____[[____]]

# Use stratified sampling to split up the dataset according to the y dataset
X_train, X_test, y_train, y_test = ____(____, ____, ____, random_state=42)

# Print the category_desc counts from y_train
print(____[____].____)
Modifica ed esegui il codice