Что такое мета-классификатор в функции StackingClassifier в mlxtend? - PullRequest
0 голосов
/ 10 сентября 2018

В библиотеке mlxtend есть мета-классификатор для обучения ансамблю, который называется «StackingClassifier».

Вот пример вызова функции StackingClassifier:

sclf = StackingClassifier(classifiers=[clf1, clf2, clf3], 
                          meta_classifier=lr)

Что такое meta_classifier здесь? Для чего он используется?

Ответы [ 2 ]

0 голосов
/ 12 июня 2019

метаклассификатор - это тот, который принимает все прогнозируемые значения ваших моделей. Как в вашем примере у вас есть три классификатора clf1, clf2, clf3, скажем, clf1 - наивный байес, clf2 - случайный лес, clf3 - svm. Теперь для каждой точки данных x_i в вашем наборе данных все три модели будут работать h_1 (x_i), h_2 (x_i), h_3 (x_i), где h_1, h_2, h_3 соответствуют функции clf1, clf2, clf3. Теперь эти три модели дадут три предсказанных значения y_i, и все они будут работать параллельно. Теперь с этими прогнозируемыми значениями обучается модель, известная как метаклассификатор, и это логистическая регрессия в вашем случае.

Таким образом, для новой точки запроса (x_q) она будет вычислена как h ^ '(h_1 (x_q), h_2 (x_q), h_3 (x_q)), где h ^' (h dash) - это функция, которая вычисляет y_q.

Преимущество метаклассификаторов или ансамблевых моделей состоит в том, что ваш clf1 дает точность 90%, clf2 дает точность 92%, clf3 дает точность 93%. Таким образом, конечная модель даст точность, которая будет превышать 93%, которая обучается с использованием мета-классификатора. Эти составные классификаторы широко используются в завершении стука.

0 голосов
/ 10 сентября 2018

Что такое укладка?

Stacking - это метод обучения ансамбля, объединяющий несколько моделей классификации с помощью мета-классификатора. Индивидуальные классификационные модели обучаются на основе полного учебного набора затем метаклассификатор подбирается на основе выходных данных - мета-признаков - отдельных моделей классификации в ансамбле.

Источник: StackingClassifier-mlxtend

Таким образом, параметр meta_classifier помогает нам выбрать classifier в соответствии с выходом отдельных моделей.

Пример

Предположим, что вы использовали 3 бинарные классификационные модели, скажем LogisticRegression, DT & KNN для стекирования. Допустим, 0, 0, 1 будет классами, предсказанными моделями. Теперь нам нужно classifier, которое сделает большинство голосов по прогнозируемым значениям. И этот классификатор является meta_classifier. И в этом примере он выберет 0 в качестве прогнозируемого класса.

Вы также можете увеличить это значение до prob.

Подробнее см. mlxtend-API

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