Фиктивное кодирование номинальных атрибутов — эффект от использования K манекенов, эффект выбора атрибута

Подводя итог моему пониманию темы, 'фиктивное кодирование' обычно понимается как кодирование номинального атрибута с K возможными значениями в виде K-1 бинарных фиктивных значений. Использование значений K вызовет избыточность и окажет негативное влияние, например. по логистической регрессии, насколько я ее узнал. Пока мне все ясно.

Тем не менее, мне неясны два момента:

1) Принимая во внимание проблему, изложенную выше, я смущен тем, что классификатор 'Logistic' в WEKA на самом деле использует K манекенов (см. Рисунок). Почему это так?

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

во-вторых

Изображения

Вывод WEKA: логистический алгоритм был запущен на наборе данных UCI German Credit, где возможные значения первого атрибута: A11, A12, A13, A14. Все они включены в модель логистической регрессии. http://abload.de/img/bildschirmfoto2013-089out9.png

Пример дерева решений. Эскиз, показывающий проблему запуска деревьев решений для наборов данных с экземплярами с фиктивным кодом после выбора атрибута. http://abload.de/img/sketchziu5s.jpg


person ateich    schedule 25.08.2013    source источник


Ответы (1)


Вывод, как правило, более легко читать, интерпретировать и использовать, когда вы используете k фиктивных вместо k-1 фиктивных. Я полагаю, именно поэтому все используют k манекенов. Но да, поскольку сумма значений k равна 1, существует корреляция, которая может вызвать проблемы. Но корреляции в наборах данных — обычное дело, полностью от них не избавишься никогда!

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

Вам действительно следует использовать взвешивание или рассмотреть более продвинутые алгоритмы, которые могут обрабатывать такие данные. На самом деле фиктивные переменные могут вызвать столько же проблем, потому что они бинарные, а многие алгоритмы (например, k-means) не имеют особого смысла для бинарных переменных.

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

person Has QUIT--Anony-Mousse    schedule 26.08.2013