Изменения

Перейти к: навигация, поиск

Дерево решений и случайный лес

12 байт убрано, 01:09, 21 января 2019
Примеры использования (в scikit-learn)
== Примеры использования (в scikit-learn) ==
*Для решения задач классификации и регрессии используют [https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html#sklearn.tree.DecisionTreeClassifier DecisionTreeClassifier] , [https://scikit- используется для классификации learn.org/stable/modules/generated/sklearn.tree.DecisionTreeRegressor.html#sklearn.tree.DecisionTreeRegressor DecisionTreeRegressor]
'''from''' sklearn '''import''' tree <font color=green>// X - массив, содержащий описание объектов из обучающей выборки</font> X = [[0, 0], [1, 1]] <font color=green>// Y - значения классов объектов из обучающей выборки </font> Y = [0, 1] clf = tree.DecisionTreeClassifier() <font color=green> // обучение классификатора </font> clf = clf.fit(X, Y) <font color=green> // предсказание значений классов </font> clf.predict([[2, 2]]) <font color=green> // вывод: array([1]) </font>  *Для решения задачи регрессии используют [https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeRegressor.html#sklearn.tree.DecisionTreeRegressor DecisionTreeRegressor] '''from''' sklearn '''import''' tree X = [[0, 0], [2, 2]] y = [0.5, 2.5] clf = tree.DecisionTreeRegressor() clf = clf.fit(X, y) clf.predict([[1, 1]]) <font color=green> // вывод: array([0.5]) </font> *В '''sklearn.ensemble''' также представлены методы классификации, основанные на ансамблях, в том числе: [https://scikit-learn.org/stable/modules/ensemble.html#bagging бэггинг] и [https://scikit-learn.org/stable/modules/ensemble.html#forest случайный лес], которые были описаны выше. <br><br>Так, в этом примере создается бэггинг ансамбль из классификаторов '''KNeighborsClassifier''', каждый из которых обучен на рандомных подмножествах из 50% объектов из обучающей выборки, и 50% рандомно выбранных признаков.
'''from''' sklearn.ensemble '''import''' BaggingClassifier
'''from''' sklearn.neighbors '''import''' KNeighborsClassifier
bagging = BaggingClassifier(KNeighborsClassifier(), max_samples=0.5, max_features=0.5)
 
Пример использования классификатора на случайном лесе:
'''from''' sklearn '''import''' RandomForestClassifier
'''from''' sklearn.datasets '''import''' make_classification
<font color=green>// сгенерируем рандомный обучающий набор с классификацией по n_classes классам</font>
X, y = make_classification(n_samples=1000, n_features=4, n_classes = 5)
<font color=green>// создадим классификатор на случайном лесе, состоящим из n_estimators деревьев</font>
clf = RandomForestClassifier(n_estimators=100, max_depth=2)
<font color=green>// обучим классификатор на сгенерированном обучающем множестве</font>
clf.fit(X, y)
clf.predict([[0, 0, 0, 0]])
== Ссылки ==
635
правок

Навигация