Exercise - Encoding

1. Analyse du dataset
2. Encodage ordinal



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.]]