Таким образом, у нас есть потенциал для приложения машинного обучения, которое довольно точно вписывается в традиционную проблемную область, решаемую классификаторами, то есть у нас есть набор атрибутов, описывающих элемент, и «корзина», в которой они заканчиваются. Однако вместо того, чтобы создавать модели из вероятностей, как в наивных байесовских или аналогичных классификаторах, мы хотим, чтобы наш вывод был набором примерно понятных человеку правил, которые могут быть просмотрены и изменены конечным пользователем.
Изучение правил ассоциации выглядит как семейство алгоритмов, решающих проблему этого типа, но эти алгоритмы, похоже, сосредоточены на выявлении общих комбинаций функций и не включают в себя концепцию окончательного сегмента, на которую могут указывать эти функции. Например, наш набор данных выглядит примерно так:
Item A { 4-door, small, steel } => { sedan }
Item B { 2-door, big, steel } => { truck }
Item C { 2-door, small, steel } => { coupe }
Я просто хочу правила, которые говорят: «если это большой и 2-дверный, это грузовик», а не правила, которые говорят: «если это 4-дверный, это тоже маленький».
Один из обходных путей, который я могу придумать, состоит в том, чтобы просто использовать алгоритмы обучения правилам ассоциации и игнорировать правила, которые не включают в себя конечный сегмент, но который кажется немного хакерским. Я пропустил некоторое семейство алгоритмов там? Или, возможно, я неправильно подхожу к проблеме?
источник
На самом деле это даже проще, чем то, что вы описываете - вы просто ищете базовый алгоритм дерева классификации (поэтому нет необходимости в немного более сложных вариантах, таких как C4.5, которые оптимизированы для точности прогнозирования). Канонический текст:
http://www.amazon.com/Classification-Regression-Wadsworth-Statistics-Probability/dp/0412048418
Это легко реализуется в R:
http://cran.r-project.org/web/packages/tree/tree.pdf
и Python:
http://scikit-learn.org/stable/modules/tree.html
источник
Вы могли бы взглянуть на CN2 правило обучающегося в Orange 2 http://orange.biolab.si/orange2/
источник
Вам следует попробовать пакет arules в R. Он позволяет вам создавать не только правила ассоциации, но также указывать длину каждого правила, важность каждого правила, а также вы можете фильтровать их, что вы и ищете (попробуйте Команда rhs () этого пакета).
источник