0

Вот моя проблема. Мне нужно реализовать алгоритм дерева с несколькими целевыми решениями. Множественная цель - это расширение обучения с несколькими метками, где метки не являются двоичными, но могут быть непрерывными, категоричными и так далее. Например, вектор меток для задачи классификации нескольких ярлыков может выглядеть так {1,0,1,0,0,0,1}, тогда как для многоцелевой цели может выглядеть так: {2,35,3, -2, 24}. Моя проблема в этом. Если у меня есть метка, которая принимает 3 дискретных значения, как я представляю их в векторе? Допустим, у меня есть лейбл под названием «работа» и занимает 3 значения, механик, учитель и спортсмен. Как я могу закодировать эту метку, чтобы использовать ее в векторе? На каждом узле дерева решений, чтобы найти мой раскол, мне нужно вычислить средний вектор всех векторов меток в этом узле (я использую уравнение метода дисперсии для поиска моего разделения). Если бы у меня была бинарная метка, это было бы легко, потому что добавление 0 и 1 не создает никаких проблем. Если я закодирую эти 3 задания с 0,1,2, то это проблема, потому что добавление вектора метки, у которого есть аттенюар ярлыка, считается больше, чем добавление вектора, у которого есть механик работы, и средний вектор является неточным.Многоцелевые деревья решений

Давайте рассмотрим этот пример. У меня есть эти 3 этикетки:

  job: {mechanic,teacher,athlete} 
      married:{yes,no} 
      age: continuous value 

Легко сказать, что замужняя метка может быть закодирован как {0,1} и возрастной этикетке в виде непрерывного ряда. Но как я могу закодировать ярлык работы? Кодирование его как {0,1,2} вызывает следующую проблему. Представьте себе 2 вектора метки в узле: {0,0,45}, что соответствует механике, женатому и 45 летнему и {2,1,48}, что соответствует спортсмену, не состоящему в браке, 45 лет. Средний вектор равен {1,0,5,46,5}. С помощью этого вектора я могу предсказать, что возраст экземпляра, который попадает к этому узлу, равен 46,5, я могу сказать, что пример не состоящего в браке (с правилом, который говорит больше или равен 0,5, равен 1), и я могу сказать, что его работа - учитель. Работа учителя полностью неправильна, а остальные - в порядке. Теперь вы видите проблему кодирования категориальных меток. Помощь или совет ??? Спасибо: D

+0

спасибо за беспорядок без причины, вы действительно должны быть ответственным лицом – jojoba

ответ

1

Как насчет того, все дискретные значения признака и превратить их всех в особенности, если значения более чем 2, например:

job: {mechanic, teacher, athlete} 
married:{yes, no} 
age: continuous value 

приведет в 5-мерном Vecor

(механик 0/1, учитель 0/1, спортсмен 0/1, женат 0/1, возраст 0-inf)

+0

Да, это может быть решение : D. Но это, вероятно, потребует много почтовой обработки прогнозов, потому что он может предсказать, что человек является механиком и учителем. Вам нужно каким-то образом сохранить, чтобы метки от индекса 0 до индекса 2 были с одного и того же ярлыка и назначали тот, который ближе всего к 1. Но я не думаю о любом решении, которое не имеет какой-либо должности или предварительной работы для данных и это решение, вероятно, потребует меньших усилий. Так спасибо: D. Я буду держать это сообщение открытым, если в ближайшие несколько дней будет другое решение: D – jojoba

+0

Может быть, больше удачи на http://stats.stackexchange.com/ – clyfe

+0

Спасибо: D. Я посмотрю. – jojoba