Я пытаюсь создать классификационную модель, основанную на данных качественного опроса. Было исследовано около 10 000 наших клиентов, и в результате была построена модель сегментации, после чего каждый клиент был разделен на 1 из 8 клиентских сегментов. Теперь задача состоит в том, чтобы разделить ВСЮ клиентскую базу на эти сегменты. Поскольку ответили только определенные клиенты, исследователь использовал общую демографию для применения весов после стратификации (или весов частоты).
Теперь моя задача состоит в том, чтобы использовать данные наших клиентов в качестве независимых переменных для этих 10 000, чтобы построить классификационную модель для всей базы.
Чтобы обрабатывать веса клиентов, я просто продублировал каждую запись клиента по каждому соответствующему частотному весу, и набор данных увеличился примерно до 72 КБ. Затем я разделил эти данные на обучение и тестирование и использовал пакет R Caret для обучения GBM, а с помощью окончательно выбранной модели классифицировал мой тестовый набор.
Я получал точность 82% и думал, что результаты слишком хороши, чтобы быть правдой. Подумав об этом, я думаю, что проблема в том, что модель непреднамеренно видит записи в поезде, которые точно такие же в тесте (некоторые записи могут быть точно продублированы до 10 раз).
Я знаю, что функция модели GLM позволяет вам использовать параметр веса для ссылки на вектор весов, но мой вопрос заключается в том, как использовать другие алгоритмы машинного обучения, такие как GBM или Random Forests, в R?
Спасибо