Одна проблема с несоответствием функций горячего кодированияPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Одна проблема с несоответствием функций горячего кодирования

Сообщение Anonymous »

Я провожу Kaggle Challenge, который требует от нас предсказать 12 идентификаторов продуктов, которые клиенты с наибольшей вероятностью купят, исходя из их прошлой истории. Просмотр всех деталей кода занял бы слишком много времени. Я столкнулся со следующей ошибкой:
ValueError: X имеет 156 функций, но CustomLogisticReгрессия ожидает 157 функций в качестве входных данных
из этого кода:

Код: Выделить всё

top_k_indices, top_k_probs = clf.predict_top_k(test, k=12)
Вот что я выяснил и попробовал:
  • Проблема, скорее всего, связана с моей единственной горячей кодировкой. Я знаю это, потому что перед применением OHE количество столбцов в обучении и тесте одинаково.
  • Я уже добавил параметр handle_unknown = 'ignore' в свой экземпляр OHE, что должно означать что новые невидимые категории в тестовом наборе не должны быть проблемой.
  • Я пытался сравнить функции, сгенерированные OHE, при их применении к кадру данных поезда и тестовому набору данных - но это оказалось быть бесполезным методом - поскольку handle_unknown = Параметр «игнорировать» просто устанавливает новые невидимые категории в новый столбец, в котором все нули. (Это может показаться новой функцией, но, поскольку все значения равны 0, это не имеет значения)
  • Я не думаю, что проблема связана с удалением столбцов между поездом и тестом, так как я удаляю все одни и те же столбцы.
Вот соответствующий код:
импортировать панды как pd
импортировать matplotlib.pyplot как plt
от sklearn.impute import SimpleImputer
импортировать numpy как np
customers = pd.read_csv(path)
products = pd.read_csv(path)

Подробнее здесь: https://stackoverflow.com/questions/792 ... atch-issue
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»