Exercise - Encoding
1. Analyse du dataset
Analyse du Dataset
df = sns.load_dataset('exercise')
df.head()
Unnamed: 0 id diet pulse time kind 0 0 1 low fat 85 1 min rest 1 1 1 low fat 85 15 min rest 2 2 1 low fat 88 30 min rest 3 3 2 low fat 90 1 min rest 4 4 2 low fat 92 15 min rest
3 colonnes ne sont pas numériques : 'diet', 'time' et 'kind'
Liste des valeurs de la colonne 'diet'
df['diet'].unique()
['low fat', 'no fat'] Categories (2, object): ['no fat', 'low fat']
Liste des valeurs de la colonne 'time'
df['time'].unique()
['1 min', '15 min', '30 min'] Categories (3, object): ['1 min', '15 min', '30 min']
Liste des valeurs de la colonne 'kind'
df['kind'].unique()
['rest', 'walking', 'running'] Categories (3, object): ['rest', 'walking', 'running']
2. Encodage ordinal
Ordinal Encoder
diet_order = ['no fat', 'low fat', 'hight fat']
time_order = ['1 min', '15 min', '30 min', '45 min', '1 hour', '2 hours']
kind_order = ['rest', 'walking', 'running']
encoder = OrdinalEncoder(
categories=[diet_order, time_order, kind_order],
handle_unknown='use_encoded_value',
unknown_value=-1
)
encoder.fit(df[['diet', 'time', 'kind']])
encoder.transform(df[['diet', 'time', 'kind']])
[[1. 0. 0.] [1. 1. 0.] [1. 2. 0.] [1. 0. 0.] [1. 1. 0.] [1. 2. 0.] [1. 0. 0.] [1. 1. 0.] [1. 2. 0.] [1. 0. 0.] [1. 1. 0.] [1. 2. 0.] [1. 0. 0.] [1. 1. 0.] [1. 2. 0.] [0. 0. 0.] [0. 1. 0.] [0. 2. 0.] [0. 0. 0.] [0. 1. 0.] [0. 2. 0.] [0. 0. 0.] [0. 1. 0.] [0. 2. 0.] [0. 0. 0.] [0. 1. 0.] [0. 2. 0.] [0. 0. 0.] [0. 1. 0.] [0. 2. 0.] [1. 0. 1.] [1. 1. 1.] [1. 2. 1.] [1. 0. 1.] [1. 1. 1.] [1. 2. 1.] [1. 0. 1.] [1. 1. 1.] [1. 2. 1.] [1. 0. 1.] [1. 1. 1.] [1. 2. 1.] [1. 0. 1.] [1. 1. 1.] [1. 2. 1.] [0. 0. 1.] [0. 1. 1.] [0. 2. 1.] [0. 0. 1.] [0. 1. 1.] [0. 2. 1.] [0. 0. 1.] [0. 1. 1.] [0. 2. 1.] [0. 0. 1.] [0. 1. 1.] [0. 2. 1.] [0. 0. 1.] [0. 1. 1.] [0. 2. 1.] [1. 0. 2.] [1. 1. 2.] [1. 2. 2.] [1. 0. 2.] [1. 1. 2.] [1. 2. 2.] [1. 0. 2.] [1. 1. 2.] [1. 2. 2.] [1. 0. 2.] [1. 1. 2.] [1. 2. 2.] [1. 0. 2.] [1. 1. 2.] [1. 2. 2.] [0. 0. 2.] [0. 1. 2.] [0. 2. 2.] [0. 0. 2.] [0. 1. 2.] [0. 2. 2.] [0. 0. 2.] [0. 1. 2.] [0. 2. 2.] [0. 0. 2.] [0. 1. 2.] [0. 2. 2.] [0. 0. 2.] [0. 1. 2.] [0. 2. 2.]]