Codifiche categoriche
Un collega ha convertito le colonne nel dataset del credito in valori numerici usando LabelEncoder(). Ne ha lasciata fuori una: credit_history, che registra la storia creditizia del richiedente. Vuoi creare due versioni del dataset: una userà LabelEncoder() e l’altra la one-hot encoding, per confronto. La matrice delle feature è disponibile come credit. Hai LabelEncoder() già caricato e pandas come pd.
Questo esercizio fa parte del corso
Progettare workflow di Machine Learning in Python
Istruzioni dell'esercizio
- Codifica
credit_historyusandoLabelEncoder(). - Concatena il risultato al frame originale.
- Crea un nuovo data frame concatenando le variabili fittizie della one-hot encoding al frame originale.
- Conferma che la one-hot encoding produce più colonne rispetto alla label encoding.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Create numeric encoding for credit_history
credit_history_num = ____.____(
credit[____])
# Create a new feature matrix including the numeric encoding
X_num = pd.concat([X, pd.Series(____)], ____)
# Create new feature matrix with dummies for credit_history
X_hot = pd.concat(
[X, ____.____(credit[____])], ____)
# Compare the number of features of the resulting DataFrames
print(X_hot.shape[____] > X_num.shape[____])