2015-10-11 4 views
1

Когда интеллектуальная обработка данных, когда вы должны выбрать один из этих алгоритмов над другим? Есть ли конкретная причина? И какой из них наиболее эффективен?Дерево решений против Naive Bayes против KNN

Я собираюсь дать таблицу, например, для целей. enter image description here

+0

Буду ли я считать, что KNN из трех будет иметь наибольшее время работы? – gchavez101

ответ

2

Один из способов выбора - попробовать все из них и выбрать лучшее.

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

1) В пользу деревьев принятия решений имеют только несколько атрибутов, которые определяют правильный ответ со всеми остальными бесполезными отвлечениями.

2) Чтобы поддержать Наивный Байес, постройте 2n + 1 атрибуты, выбирая случайным образом n 1s и n + 1 -1s или n + 1 1s и n -1s и присваивая их атрибутам случайным образом. Правильный ответ: будь то голое большинство - +1 или -1.

3) Чтобы поддержать kNN, используйте двумерные данные и нарисуйте широкий спиральный шаблон 1s на фоне 0 с примерно равным числом 0 или 1 с. Правильный ответ: есть ли вы на 0 или 1.

kNN, безусловно, займет больше памяти в момент принятия решений, так как вы должны помнить все экземпляры вместо того, чтобы кипятить их в массы и дерево правила. Я также ожидал, что на время принятия решения потребуется больше времени, хотя есть библиотеки, чтобы попытаться ускорить это. Наивный Байес, вероятно, самый быстрый и самый маленький.

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

Смежные вопросы