Подтвердить что ты не робот

Дерево решений по сравнению с классификатором Naive Bayes

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

В каких случаях лучше использовать дерево принятия решений и в других случаях классификатор Naive Bayes?

Зачем использовать один из них в определенных случаях? А другой в разных случаях? (Глядя на его функциональность, а не на алгоритм)

У кого-нибудь есть объяснения или рекомендации по этому поводу?

4b9b3361

Ответ 1

Деревья принятия решений очень гибкие, понятны и легко отлаживаются. Они будут работать с проблемами классификации и проблемами регрессии. Поэтому, если вы пытаетесь предсказать категориальное значение, например (красный, зеленый, вверх, вниз), или если вы пытаетесь предсказать непрерывное значение, например 2.9, 3.4 и т.д. Деревья принятия решений будут обрабатывать обе проблемы. Вероятно, одна из самых крутых вещей в Decision Trees - им нужна только таблица данных, и они будут строить классификатор непосредственно из этих данных, не требуя каких-либо предварительных проектных работ. В какой-то степени свойства, которые не имеют значения, не будут выбраны как расколы и в конечном итоге будут обрезаны, поэтому он будет очень терпимым к ерунде. Чтобы запустить его, установите его и забудьте.

Однако недостаток. Простые деревья принятия решений, как правило, больше подходят для учебных данных, так что другие методы, которые означают, что вам обычно приходится обрезать деревья и настраивать процедуры обрезки. У вас не было никаких предварительных затрат на дизайн, но вы будете платить за это, чтобы настроить производительность деревьев. Также простые деревья решений делят данные на квадраты, поэтому создание кластеров вокруг вещей означает, что он должен много разделить, чтобы охватить кластеры данных. Разделение много приводит к сложным деревьям и повышает вероятность переполнения. Высокие деревья обрезаются, поэтому, когда вы можете создать кластер вокруг некоторой функции в данных, он может не пережить процесс обрезки. Существуют и другие методы, такие как суррогатные расщепления, которые позволяют разделить по нескольким переменным сразу, создавая разбиения в пространстве, которое не является ни горизонтальным, ни перпендикулярным (0 < slope < infinity). Прохладный, но ваше дерево начинает становиться все труднее понять, и его комплекс для реализации этих алгоритмов. Другие методы, такие как ускорение и случайные деревья деревьев принятия решений, могут работать достаточно хорошо, и некоторые считают, что эти методы необходимы для получения наилучшей производительности из деревьев решений. Снова это добавляет больше вещей, чтобы понять и использовать, чтобы настроить дерево и, следовательно, больше вещей для реализации. В конце концов, чем больше мы добавляем к алгоритму, тем выше барьер для его использования.

Наивный Байес требует, чтобы вы строили классификацию вручную. Там нет способа просто бросить кучу табличных данных на нем и выбрать лучшие функции, которые он будет использовать для классификации. Выбор, который имеет значение, зависит от вас. Деревья решений выбирают лучшие функции для вас из табличных данных. Если бы у Наивного Байеса был способ выбрать функции, вы бы приблизились к тем же методам, что и деревья решений. Дайте этот факт, что означает, что вам может понадобиться объединить Naive Bayes с другими статистическими методами, чтобы помочь вам определить, какие функции лучше всего классифицировать и которые могут использовать деревья решений. Наивные заливы будут отвечать как непрерывный классификатор. Существуют методы, позволяющие адаптировать его к категориальному прогнозированию, однако они будут отвечать с точки зрения вероятностей, таких как (A 90%, B 5%, C 2,5% D 2,5%). Байес может работать достаточно хорошо, и он не подходит почти столько же поэтому нет необходимости сокращать или обрабатывать сеть. Это упрощает реализацию алгоритмов. Тем не менее, их сложнее отлаживать и понимать, потому что все вероятности умножаются 1000 раз, поэтому вы должны быть осторожны, чтобы проверить, что он делает то, что вы ожидаете. Наивные заливы отлично справляются, когда данные обучения не содержат всех возможностей, поэтому это может быть очень хорошо при низких объемах данных. Деревья решений лучше работают с большим количеством данных по сравнению с Naive Bayes.

Наивный Байес много используется в робототехнике и компьютерном зрении, и он отлично справляется с этими задачами. Деревья принятия решений работают очень плохо в этих ситуациях. Преподавание дерева решений, чтобы распознать покерные руки, глядя на миллионы покерных рук, очень плохо, потому что королевские флеши и квадроциклы происходят так мало, что их часто обрезают. Если он обрезается из полученного дерева, он будет неправильно классифицировать эти важные руки (вспомните обсуждение высоких деревьев сверху). Теперь просто подумайте, если вы пытаетесь диагностировать рак, используя это. Рак не встречается у населения в больших количествах, и он будет сокращен более вероятным. Хорошая новость заключается в том, что это может быть связано с использованием весов, поэтому мы взвешиваем выигрышную руку или рак как выше, чем потерять руку или не рак, и это повышает ее до дерева, поэтому оно не будет сокращено. Опять же, это часть настройки полученного дерева в ситуации, о которой я говорил ранее.

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

Если вы решаете проблему между использованием деревьев решений и наивными байками, чтобы решить проблему, часто бывает лучше проверить их. Создайте дерево решений и постройте наивный классификатор заливов, затем выполните съемку с использованием данных обучения и валидации. Который когда-либо лучше всего работает, скорее будет лучше работать в этой области. И всегда хорошая идея бросить каждую из них против предсказателей K-ближайшего соседа (KNN), поскольку было показано, что k-ближайший из них выполняет оба из них в некоторых ситуациях, а KNN - простой алгоритм для реализации и использования. Если KNN работает лучше, чем другие два, переходите к нему.

Некоторые источники:

Руководство по деревьям решений на основе CART. Эти книги охватывают алгоритм CART, но также обсуждают деревья решений, веса, отсутствующие значения, суррогатные расщепления, повышение и т.д. http://www.amazon.com/Classification-Regression-Wadsworth-Statistics-Probability/dp/0412048418

Более мягкое введение в CART https://www.youtube.com/watch?v=p17C9q2M00Q

Сравнение алгоритмов - обратите внимание, что KNN, деревья принятия решений, C4.5 и SVM довольно хорошо справляются с большинством тестов. http://www4.ncsu.edu/~arezaei2/paper/JCIT4-184028_Camera%20Ready.pdf

Еще одно сравнение алгоритмов - деревья с усиленным разрешением и случайные вершины списка с KNN посередине: http://www.cs.cornell.edu/~caruana/ctp/ct.papers/caruana.icml06.pdf

Еще один хороший опыт различных методов: http://www.quora.com/What-are-the-advantages-of-different-classification-algorithms