Sklearn Preprocessing One Hot Encoder Сложность - PullRequest
0 голосов
/ 05 июня 2018

У меня нет проблем, но есть один вопрос: что на самом деле делает One Hot Encoder в пакете предварительной обработки sklearn?Перебирает ли он все значения, чтобы иметь каждое значение и разделять каждое?

У меня есть некоторые данные с категориальными переменными, с 10 или более различными значениями и 14 миллиардами строк.OneHotEncoder должен перебирать каждую строку, чтобы иметь все значения?Или есть другие решения для кодирования моих данных?

1 Ответ

0 голосов
/ 14 июня 2018

набор данных = pd.read_csv ('new_result.csv', заголовок = 0)

X = dataset.iloc [:,: -1] .values ​​

y = dataset.iloc[:, ColSwipeRightCount] .values ​​

labelencoder = LabelEncoder ()

onehotencoder = OneHotEncoder ()

labelencoder = LabelEncoder ()

X [:,ColCategory] = labelencoder.fit_transform (X [:, ColCategory])

X [:, ColPlatform] = labelencoder.fit_transform (X [:, ColPlatform])

X [:, ColDayOfWeek]= labelencoder.fit_transform (X [:, ColDayOfWeek])

X [:, ColSeason] = labelencoder.fit_transform (X [:, ColSeason])

X [:, ColTimeSlot] = labelencoder.fit_transform (X [:, ColTimeSlot])

X [:, ColVersionDesign] = labelencoder.fit_transform (X [:, ColVersionDesign])

onehotencoder = OneHotEncoder (категорические_функции = [0,1], 2,3,4,5,6,7])

X = onehotencoder.fit_transform (X)

Но возвращает «ошибка памяти», проблема в fit_transform () Я думаю, мои данныеслишком большой, но может бытьЕсть и другие решения.Я пытаюсь сделать это сам, но появляется та же проблема ... ошибка памяти

...