Проблема, касающаяся категориального кодирования столбца - PullRequest
0 голосов
/ 19 апреля 2020

Нажмите, чтобы посмотреть изображение

Эй, я проснулся от набора данных автомобиля, который имеет один столбец и 11914 кортежей. Имя столбца - Make, и, как вы можете видеть, массив представляет список различных марок, например, BMW, Audi ... et c. Сейчас я применяю колонку-трансформер на эту колонку Поскольку это категория, я хочу преобразовать ее в число с плавающей точкой, но когда я применяю преобразователь столбцов, я получаю сообщение об ошибке «индекс кортежа вне диапазона». Я не могу понять причину этой ошибки. Это потому, что он содержит больше уникальных значений или больше кортежей. Может кто-нибудь объяснить мне пример и что я могу сделать, чтобы преобразовать эти категориальные данные с помощью onehotencoder.

Вот код:

from sklearn.preprocessing import OneHotEncoder

from sklearn.compose import ColumnTransformer

from sklearn.preprocessing import LabelEncoder, OneHotEncoder


ct = ColumnTransformer([('encoder', OneHotEncoder(), [0])], remainder='passthrough')

X = np.array(ct.fit_transform(X), dtype=np.float)
...