У меня есть следующая матрица numpy:
M = [
['a', 5, 0.2, ''],
['a', 2, 1.3, 'as'],
['b', 1, 2.3, 'as'],
]
M = np.array(M)
Я хочу закодировать категориальные значения ('a', 'b', '', 'as'
). Я попытался закодировать его с помощью OneHotEncoder. Проблема в том, что он не работает со строковыми переменными и генерирует ошибку.
enc = preprocessing.OneHotEncoder()
enc.fit(M)
enc.transform(M).toarray()
Я знаю, что мне нужно использовать categorical_features
, чтобы показать, какие значения я собираюсь кодировать, и я думал, что, предоставив dtype
, я смогу обрабатывать строковые значения, но не могу. Так есть ли способ закодировать категориальные значения в моей матрице?