Я довольно новичок в машинном обучении и использую следующий код для кодирования моих категориальных данных для предварительной обработки:
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
from sklearn.compose import ColumnTransformer
ct = ColumnTransformer([('one_hot_encoder', OneHotEncoder(handle_unknown = 'ignore'), [0])],remainder='passthrough')
X = np.array(ct.fit_transform(X), dtype=np.float)
, который работает, когда у меня только один категориальный столбец данных в X. Однакокогда у меня есть несколько столбцов категориальных данных, я изменяю свой код на:
ct = ColumnTransformer([('one_hot_encoder', OneHotEncoder(handle_unknown = 'ignore'), [0,1,2,3,4,5,10,14,15])],remainder='passthrough')
, но я получаю следующую ошибку при вызове функции np.array:
Ошибка значения: настройкаэлемент массива с последовательностью
при вызове функции np.array ...
Из того, что я понимаю, все, что мне нужно сделать, это указать, какие столбцы я бываю кодировать какв приведенной выше строке кода ... так почему один работает, а другой выдает ошибку?Что я должен сделать, чтобы это исправить?
Также: если я удаляю dtype=np.float
из функции np.array, я не получаю ошибку - но я также не получаювсе, что вернулось в X