Изменения

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

Бустинг, AdaBoost

998 байт добавлено, 20:35, 18 января 2019
AdaBoost
Таким образом, после выбора оптимального классификатора <tex>h_t</tex> для распределения <tex>D_t</tex>, объекты <tex>x_i</tex>, которые классификатор <tex>h_t</tex> идентифицирует корректно, имеют веса меньшие, чем те, которые идентифицируются некорректно. Следовательно, когда алгоритм тестирует классификаторы на распределении <tex>D_{t+1}</tex>, он будет выбирать классификатор, который лучше идентифицирует объекты неверно распознаваемые предыдущим классификатором.
 
===Пример кода на python для scikit-learn===
Классификатор sklearn.ensemble.'''AdaBoostClassifier''' имеет 5 параметров: '''base_estimator''', '''n_estimators''', '''learning_rate''', '''algorithm''', '''random_state'''.
Наиболее важными являются '''base_estimator''', '''n_estimators''' и '''learning_rate'''.
 
'''from''' sklearn.ensemble '''import''' AdaBoostClassifier
'''from''' sklearn '''import''' datasets
'''from''' sklearn.model_selection '''import''' train_test_split
'''from''' sklearn '''import''' metrics
iris = datasets.'''load_iris()'''
X = iris.data
y = iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size='''0.3''')
abc = AdaBoostClassifier(n_estimators='''50''', learning_rate='''1''')
model = abc.'''fit'''(X_train, y_train)
y_pred = model.'''predict'''(X_test)
print("Accuracy:",metrics.'''accuracy_score'''(y_test, y_pred))
 
Accuracy: 0.8888888888888888
Анонимный участник

Навигация