Я пытаюсь решить проблему, которая возникла при производстве модели XGBoost. Моя текущая проблема заключается в том, что порядок столбцов в обучающих данных не реплицируется идентично в порядке столбцов в производственных данных, которые мне нужно оценить. Проблема возникла на этапе однократного кодирования. Если не все уровни каждой переменной присутствуют в данных производственной оценки, которые были в данных обучения. Это приводит к тому, что подсчет баллов дает непоследовательные и неверные результаты, или процесс подсчета баллов полностью не выполняется.
Пытаясь преодолеть эту проблему, я пытаюсь придумать процесс внутри шага кодирования onehot, который обеспечит согласованность структуры столбцов. Моя теория заключается в том, что если я сохраню вектор заголовка, созданный из набора обучающих данных, я мог бы затем вызвать функцию прогнозирования onehot в этом наборе заголовков для каждого производственного набора оценок.
Например. Если у меня есть 2 набора данных, тестируйте и тренируйтесь. Я могу onehot закодировать данные поезда через пакет onehot как:
header <- onehot(train, max_levels = 100)
trainmatrix <- predict(header, train)
Чтобы сохранить структуру столбцов этой матрицы, я хочу просто использовать объект заголовка, уже созданный выше, для быстрого кодирования тестовых данных, просто:
testmatrix <- predict(header, test)
Проблема в том, что результаты не совпадают, как я ожидал.
Если у меня есть данные поезда:
Чтобы создать вектор заголовка:
Затем используйте это для однократного кодирования тестовых данных:
Получаю матрицу:
Эти результаты явно не оправдывают моих ожиданий от эффективного решения. У кого-нибудь есть другое решение для этого?
Я пробовал встраивать изображения, но, поскольку я новый пользователь, я не могу встраивать изображения, пока я не наберу 10 очков честности или что-то в этом роде. Я приму ваше предложение, чтобы включить его как текст. Спасибо, Джеймс
Роджер, я забыл о правилах для пользователей с низкой репутацией. Они раздражают, но помогают предотвратить разрушение спамерами. Удачи с твоим вопросом.
Добро пожаловать в SO Стивен. Я рекомендую отредактировать ваш вопрос, чтобы включить в него данные, вектор и матрицу в виде текста. По крайней мере, вы должны вставлять изображения в свой вопрос, а не в качестве ссылок. Эти меры облегчают людям помощь вам.