Здравствуйте, гость ( Вход | Регистрация )
7.07.2020 - 16:18
Сообщение
#1
|
|
|
Группа: Пользователи Сообщений: 7 Регистрация: 2.07.2020 Пользователь №: 39533 |
Добрый день.
Есть очень большая выборка для бинарной классификации. Нужно предсказать 2 класса(0/1) Есть огромная куча предикторов(независимых переменных), все они категориальные, и известно, что выборка содержит в себе несколько сегментов, в которых поведение предсказываемых классов будет существенно отличаться. Количество сегментов неизвестно. Как грамотно найти эти сегменты и поделить выборку для дальнейшего предсказания? Сообщение отредактировал smeilz - 7.07.2020 - 16:19 |
|
|
![]() |
![]() |
![]() |
9.07.2020 - 21:11
Сообщение
#2
|
|
|
Группа: Пользователи Сообщений: 1219 Регистрация: 13.01.2008 Из: Челябинск Пользователь №: 4704 |
Добрый день. Есть очень большая выборка для бинарной классификации. Нужно предсказать 2 класса(0/1) Есть огромная куча предикторов(независимых переменных), все они категориальные, и известно, что выборка содержит в себе несколько сегментов, в которых поведение предсказываемых классов будет существенно отличаться. Количество сегментов неизвестно. Как грамотно найти эти сегменты и поделить выборку для дальнейшего предсказания? Ваша задача из разряда таких, которые требуют творческого подхода, т.е. одной технологии нет. Я согласен с ogurtsov, что раз внутри выборки есть какие-то сегменты, то логично начать с их поиска, т.е. кластеризации. Поскольку на выделение кластеров влияет набор показателей, то лучше сначала сократить пространство переменных, предварительно исключив метку класса (0/1) и искать кластеры уже в нём. Для качественных признаков наиболее распространённый способ редукции данных с обобщением - анализ соответствий (Correspondence Analysis), хотя мне он не особо нравится: даёт для некоторых показателей и объектов сильные выбросы или типа того, когда на ординационной диаграмме пара-тройка показателей по краям, а все остальные кучей в центре; причём те, что по краям часто показатели с небольшой долей редких категорий. Больше нравятся результаты оптимального шкалирования - нелинейного анализа главных компонент, обрабатывающих одновременно количественные, порядковые и номинальные признаки. Результаты интерпретируются аналогично PCA; можно посмотреть что за компоненты выделяются, постараться интерпретировать их, а уже в пространстве этих компонент можно поискать кластеры. Нет никакой гарантии, что эти кластеры и обусловливают различный характер поведения главного признака, но это тем не менее будут некие естественные группировки, что уже хорошо: с них можно начать. Далее нужно отмоделировать классы в каждом кластере. Раз предикторов много, то лучше использовать Случайный лес деревьев классификации (Random forest). Далее сопоставить оптимальные наборы предикторов в кластерах, возможно какие-то кластеры окажутся в этом отношении сходными - их объединять и осмысливать, опираясь на предыдущий этап. В принципе деревья классификации можно попробовать и к исходному набору предикторов и классов: вдруг оно окажется хорошо структурированным с небольшим количеством ветвлений, тогда задача будет решена вообще сразу. Я бы действовал примерно так, хотя по ходу возможны варианты. Если задача заключается не в том, чтобы разобраться, а в том, чтобы просто точно предсказывать, то может лучше обучить этому нейронную сеть? С сегментами внутри выборки она справится сама. Поскольку я всё время разбираюсь, опыта построения и оптимизации таких сетей не имею. Сообщение отредактировал nokh - 9.07.2020 - 21:14 |
|
|
![]() |
![]() |
9.07.2020 - 21:50
Сообщение
#3
|
|
|
Группа: Пользователи Сообщений: 902 Регистрация: 23.08.2010 Пользователь №: 22694 |
Больше нравятся результаты оптимального шкалирования - нелинейного анализа главных компонент, обрабатывающих одновременно количественные, порядковые и номинальные признаки. Результаты интерпретируются аналогично PCA Nokh, а это пакет {homals}, да? А то я уже что-то забывать стал... |
|
|
![]() |
![]() |
smeilz Как грамотно поделить выборку на несколько сегментов перед предсказанием? 7.07.2020 - 16:18
ogurtsov Кластеризацию нужно сделать, а уж какую - тут мног... 7.07.2020 - 20:07
passant Уважаемый smeilz.
Что-то вы начинаете "путат... 8.07.2020 - 11:30
100$ ЦитатаКроме того, вы так и не пояснили, что означа... 8.07.2020 - 19:41
smeilz Цитата(passant @ 8.07.2020 - 11:30) ... 10.07.2020 - 15:09
ogurtsov Цитата(smeilz @ 10.07.2020 - 15:09) ... 10.07.2020 - 18:23
smeilz Цитата(ogurtsov @ 10.07.2020 - 18:23... 10.07.2020 - 22:23
100$ А мне очень интересно, как скоро в этой теме появ... 8.07.2020 - 18:42
ogurtsov Цитата(100$ @ 8.07.2020 - 18:42... 8.07.2020 - 19:05
passant Нет, коллеги. В данном случае - вы ошибаетесь. Это... 8.07.2020 - 21:31
100$ passant,
поскольку Андрей (Огурцов) ничего ошибо... 9.07.2020 - 00:17
passant Цитата(100$ @ 9.07.2020 - 00:17... 9.07.2020 - 10:55

nokh Цитата(100$ @ 9.07.2020 - 23:50... 10.07.2020 - 08:10

100$ Цитата(nokh @ 10.07.2020 - 08:10) Да... 10.07.2020 - 10:48
smeilz Цитата(nokh @ 9.07.2020 - 21:11) Ваш... 10.07.2020 - 15:13
comisora Всем добрый день.
Самая первая/последняя книга по... 10.07.2020 - 15:28
100$ Ну вот, господа кластеризаторы и примкнувшие к ним... 10.07.2020 - 18:32
ogurtsov Цитата(100$ @ 10.07.2020 - 18:3... 10.07.2020 - 19:14

100$ Цитата(ogurtsov @ 10.07.2020 - 19:14... 10.07.2020 - 20:30

smeilz Цитата(ogurtsov @ 10.07.2020 - 19:14... 10.07.2020 - 21:57
smeilz Цитата(100$ @ 10.07.2020 - 18:3... 10.07.2020 - 21:53

100$ Цитата(smeilz @ 10.07.2020 - 21:53) ... 10.07.2020 - 22:56
smeilz Цитата(100$ @ 10.07.2020 - 18:3... 10.07.2020 - 22:42
passant Цитата(smeilz @ 10.07.2020 - 22:42) ... 10.07.2020 - 23:18![]() ![]() |