1

Я хотел бы извлечь полезные правила из Деревья принятия решений/Случайный лес, чтобы разработать более применимый способ обработки правил и прогнозов. Поэтому мне нужно приложение, которое делает правила более понятными.Как сделать правила дерева решений более понятными?

Любые предложения (например, визуализации, методы проверки и т. Д.) Для моей цели?

ответ

1

Что касается ПОЧЕМУ был выбран конкретный раскол, ответ всегда будет следующим: «Потому что этот раскол создал лучшее расщепление целевой переменной».

Вы ссылаетесь на scikit-learn ... Вперед и коротко сканируйте scikit-learn's documentation on Decision Trees ... В нем есть пример, который именно вы запрашиваете в середине страницы. Это выглядит следующим образом:

graphical representation of decision tree

Код для создания этого участка есть также:

from sklearn.datasets import load_iris 
from sklearn import tree 
iris = load_iris() 
clf = tree.DecisionTreeClassifier() 
clf = clf.fit(iris.data, iris.target) 
from sklearn.externals.six import StringIO 
with open("iris.dot", 'w') as f: 
f = tree.export_graphviz(clf, out_file=f) 

Есть несколько других графических представлений, которые также с сопровождающим кодом:

enter image description here enter image description here

Документация SKL является общей это удивительно и очень полезно.

Надеюсь, это поможет!

+0

Похож на ** переработку ** для меня. Может быть, было бы более понятно, если бы он не переусердствовал? –

+0

Это точка сюжета ... максимальная глубина 5 явно переоборудована, но максимальная глубина 2 также показана, например. эти типы сюжетов помогают вам выбрать модель, но вы должны увидеть, какая глубина ведет к переобучению, а какие глубины ведут к недоустройству, чтобы выбрать правильную глубину. – AN6U5

+0

Спасибо за ссылки. Это отличная отправная точка! Кроме того, я ищу метод для создания бизнес-приложения ** над правилами из деревьев решений. Что-то вроде «Кредитный подсчет» (см .: [Руководство по подсчету кредитов в R] (http://cran.r-project.org/doc/contrib/Sharma-CreditScoring.pdf)) – lomaga

0

Хотя это, безусловно, возможно для деревьев принятия решений, и AN6U5 отлично справлялся с описанием того, как случайные леса используют пучки маленьких деревьев, которые были обучены с использованием случайных подмножеств данных и случайных подмножеств функций. Таким образом, каждое дерево является оптимальным только в том, что ограниченная настройка функций и данных. Поскольку, как правило, 100 или даже 1000 из них, выяснение контекста путем изучения рандомизированных данных будет неблагодарной задачей. Я не думаю, что кто-то это делает.

Тем не менее, существует рейтинг важности для функций, созданных для Random Forests, и почти все реализации будут выводить их по запросу. Они оказываются чрезвычайно полезными.

Двумя наиболее важными из них являются MDI (Mean Decrease прим.) И MDA (Mean Decrease Accuracy). Они подробно описаны в главе 6 этой отличной работы: http://arxiv.org/pdf/1407.7502v3.pdf

+0

Да, я согласен @Mike Wise, переход от деревьев решений к случайным лесам существенно изменяет масштаб соображений визуализации. Я думаю, что нужно визуализировать дерево решений, а затем не слишком беспокоиться о переходе к случайным лесам. Те, кто более известен для машинного обучения и науки о данных, имеют тенденцию чрезмерно ориентироваться на открытие «эвристики на дому» и под вопросом правильной проверки модели с помощью модельных показателей, кривых ROC, разложения смещения дисперсии и т. Д.Мое предложение было бы использовать эти типы методов и не пытаться визуализировать весь случайный лес деревьев. – AN6U5

+1

Полностью согласен. Я использую много RT и BT в своей работе, и хорошая вещь о RT - это показатели важности. Кстати, я любил ваш ответ и буду смотреть на то, чего он не видел. И я надеюсь, что Иомага помнит, что правильно ответил на ваш ответ. :) Заметьте, что если бы у него было еще несколько очков, он мог бы тоже возвысить ... –

+1

Спасибо за ваши объяснения, ссылки и обсуждение методов валидации DT/RF. Они оказались чрезвычайно полезными для моей задачи. BTW Я обозначил AN6U5 как правильный ответ. – lomaga

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

  • Нет связанных вопросов^_^