Как классифицировать экземпляры на основе других экземпляров в группе? - PullRequest
0 голосов
/ 30 января 2020

SO сообщество - в поисках решения проблемы машинного обучения, если кто-то может помочь, было бы очень полезно:

Я хотел бы иметь возможность применить алгоритм машинного обучения, который назначает классификацию каждого Экземпляр, основанный на других инстансах в рамках его «группы». Модель изучает особенности, которые приводят к классификации «1» с наиболее сильными характеристиками в этой группе, а другие - как «0» (или, что еще лучше, вывод вероятности softmax, который в сумме составляет 1).

Экземпляры могут иметь функции, которые не являются необходимыми, как и другие экземпляры в других группах, но они являются более сильными индикаторами В их группе

Т.е. с данными, которые выглядят следующим образом, как мне получить модель, чтобы в общем узнать, какие функции привести к классификации «1», но определить метку можно только на основе характеристик других экземпляров в группе

обучающий набор

   feat1  feat2 feat3 feat4 group label
0     1     2    yes  cat1    1     0
1     3     4    no   cat4    1     0
2     2     6    yes  cat3    1     0
3     4     8    yes  cat2    1     1
4    14    10    no   cat4    2     0
5    10    12    yes  cat1    2     0
6    12    12    no   cat2    2     0
7    18    11    yes  cat4    2     1
8    16    15    no   cat5    2     0

тестовый набор

   feat1  feat2 feat3 feat4 group label (softmax output)
0     1     2    yes  cat2    3     0     0.15
1     6     4    no   cat4    3     0     0.07
2     4     2    yes  cat2    3     0     0.34
3     2     3    yes  cat2    3     1     0.44

Т.е. модель назначит '1' только одному экземпляру в каждой 'группе' и '0' остальным (или вероятности для всех экземпляров)

Самое близкое, что я получил к этому, - это изучение нескольких экземпляров но это приводит к классификации группы, а не экземпляров внутри группы.

Я думаю, что простой опыт Вот что я пытаюсь достичь: используйте набор функций, чтобы определить, какой элемент в группе элементов наиболее вероятно будет помечен, оценивая каждый из элементов группы в отдельности. Я предполагаю, что это похоже на предсказание гонки, в которой у каждого участника есть куча атрибутов, а результат (победитель) можно предсказать, только оценив каждого участника и его атрибуты.

Любая помощь будет принята с благодарностью.

пс. Любя это сообщество, без него я бы не попал в мир аналитики!

pps. просто чтобы уточнить - обучение должно быть проведено с оценкой каждой группы, а не обучено традиционным способом в каждом конкретном случае. ie. у вас может быть экземпляр среднего качества среди группы экземпляров низкого качества, а экземпляр среднего качества должен давать результат '1' (или с наибольшей вероятностью). Этот же экземпляр среднего качества может находиться в группе экземпляров высокого качества и поэтому должен классифицироваться как выход «0» (или с наименьшей вероятностью). Традиционные модели классификации по экземплярам просто присваивают точно такую ​​же классификацию этому экземпляру среднего качества, но я ищу его «статус» В пределах группы, которой он назначен!

1 Ответ

0 голосов
/ 30 января 2020

Я думаю, что хорошим решением для этого является обучение вашей модели без групповой функции.

Как я вижу в ваших данных, значения функций обусловлены групповой функцией, поэтому они находятся в разных Весы. Для обучения модели со всеми вашими данными вам необходимо разделить данные по группам, а затем нормализовать их, чтобы привести все функции в один масштаб.

После нормализации данных вы обучаете свою модель без группы характерная черта. Когда вы находитесь в фазе прогнозирования, вы выполняете тот же процесс нормализации для тестовых данных (делитесь на группы и нормализуетесь), а затем вы получаете максимальную вероятность для каждой группы.

...