Это ваши тренировочные данные:
A B C # <== feature names
0 0 3
1 1 0
0 2 1
1 0 2
Теперь, как вы видите в enc.n_values_
: array([2, 3, 4])
Первая особенность A имеет два возможных значения = 0 и 1.
Аналогично, функция B имеет три возможных значения = 0, 1, 2
...
Теперь в выводе каждой функции будет назначено количество столбцов в соответствии с вышеуказанными значениями.
Примерно так:
A_0 A_1 B_0 B_1 B_2 C_0 C_1 C_2 C_3
Здесь A_0 означает, что в данных присутствует 0. Итак, A_0 будет 1 (горячий) и A_1 будет 0. Если 1 присутствовал в этих данных, то A_1 будет 1 (горячий) и A_0 будет 0.
Итак, для ввода:
A B C
[0, 1, 1]
Здесь A = 0, поэтому A_0 будет 1, а остальные A_1 будут 0.
для B B = 1, поэтому B_1 будет 1, а другие (B_0 и B_2) будут 0. То же самое для C.
Итоговый результат:
A_0 A_1 B_0 B_1 B_2 C_0 C_1 C_2 C_3
1., 0., 0., 1., 0., 0., 1., 0., 0.
См. Это для получения дополнительной информации: http://scikit -learn.org / stable / modules / preprocessing.html # encoding -ategorical-features