Codificări pentru variabile categorice
Colegul tău a convertit coloanele din setul de date de credit la valori numerice folosind LabelEncoder(). A omis una: credit_history, care înregistrează istoricul de credit al solicitantului. Vrei să creezi două versiuni ale setului de date: una care folosește LabelEncoder() și alta cu codificare one-hot, pentru comparație. Matricea de caracteristici îți este disponibilă ca credit. Ai LabelEncoder() preîncărcat și pandas ca pd.
Acest exercițiu face parte din cursul
Proiectarea fluxurilor de lucru pentru Machine Learning în Python
Instrucțiuni pentru exercițiu
- Codifică
credit_historyfolosindLabelEncoder(). - Concatenează rezultatul la cadrul de date original.
- Creează un nou cadru de date prin concatenarea dummy-urilor de codificare 1-hot la cadrul original.
- Confirmă că codificarea 1-hot produce mai multe coloane decât codificarea prin etichetă.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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[____])