Для задачи моделирования оттока я рассматривал:
- Вычислить k кластеров для данных
- Постройте k моделей для каждого кластера индивидуально.
Основанием для этого является то, что нечего доказывать, что совокупность подписчиков однородна, поэтому разумно предположить, что процесс генерирования данных может быть различным для разных «групп».
У меня вопрос, это подходящий метод? Это что-то нарушает или по какой-то причине считается плохим? Если так, то почему?
Если нет, поделитесь ли вы лучшими практиками по этому вопросу? И, во-вторых, лучше или хуже делать предварительную кластеризацию, чем дерево моделей (Как определено в Witten, Frank - дерево классификации / регрессии с моделями на листьях. Интуитивно кажется, что стадия дерева решений - это просто еще одна форма кластеризации, но idk, если у него есть какие-либо преимущества перед «нормальной» кластеризацией.).
Два момента, которые слишком длинны, чтобы быть комментарием:
Чистые кластеры (т.е. содержащие случаи только одного класса) сами по себе не являются проблемой: так называемые классификаторы одного класса моделируют каждый класс независимо от всех других. Они могут прекрасно с этим справиться.
Однако, если кластеры данных таким образом, что классы достаточно разделены, то есть кластеры довольно чисты, это означает, что существует очень сильная структура, структура, которую кластерный анализ может найти без указания меток классов. Это означает, что определенные типы классификаторов, такие как методы ближайшего соседа, основанные на той же мере расстояния, используемой кластерным анализом, подходят для данных.
Другая возможность - ситуации, когда кластеры не являются чистыми, но комбинация методов кластера и классификации может быть успешной, подходит для деревьев. Дерево будет выполнять часть кластеризации (и чистые узлы не считаются проблемой). Вот искусственный пример, 2-кластерная версия XOR-проблемы:
Другой способ включить информацию о кластере, не рискуя иметь чистые кластеры, - это использовать кластеризацию в качестве шага генерации признаков: добавить результаты кластерного анализа в качестве новых изменений в матрицу данных.
Вы спрашиваете, плохо ли это по какой-то причине: одна ловушка состоит в том, что этот подход приводит к моделям со многими степенями свободы. Вы должны быть особенно осторожны, чтобы не надевать.
Посмотрите на деревья на основе моделей, например , ответ mbq здесь, я думаю, что они реализуют концепцию, которая очень близка к тому, что вы ищете. Они также могут быть реализованы в виде леса: например, R package mobForest .
источник
Я имею дело с подобной проблемой в эти дни. У меня есть сотни возможностей для построения классификатора. Попробовав разные модели (например: случайные леса, повышение градиента и т. Д.), Я все равно получил низкую точность / отзыв. Поэтому я пытаюсь сделать несколько кластеров, а затем построить классификаторы в разных группах. Меня беспокоит, как говорит Anony-Mousse, как я могу получить больше информации от классификатора, если я использую всю информацию в кластеризации? Вот что я собираюсь делать дальше:
Я думаю, что это может также помочь уменьшить сложность, желаю, чтобы это помогло.
источник
В качестве альтернативы, в дискриминационной настройке можно попытаться включить кластерные назначения (жесткие или мягкие) в качестве функции для обучения алгоритму классификации по выбору (например, NB, ANN, SVM, RF и т. Д.)
источник
Ну, если ваши кластеры действительно хороши, ваши классификаторы будут дерьмом. Потому что им не хватает отвлечения в их тренировочных данных.
Скажите, что ваши кластеры идеальны, то есть чисты. Вы даже не можете должным образом тренировать классификатор там больше. Классификаторам нужны положительные и отрицательные примеры!
Случайные леса очень успешно делают прямо противоположное. Они берут случайную выборку данных, обучают ее по классификатору, а затем используют все обученные классификаторы.
Что может сработать, так это использовать кластеризацию, а затем обучать классификатор каждой паре кластеров, по крайней мере, если они достаточно не согласны (если класс разбит на два кластера, вы все равно не сможете обучить классификатор там!)
источник