Я пытаюсь использовать StackingClassifier с логистической регрессией (двоичный классификатор).Пример кода:
from sklearn.datasets import load_iris
from mlxtend.classifier import StackingClassifier
from sklearn.linear_model import LogisticRegression
iris = load_iris()
X = iris.data
y = iris.target
y[y == 2] = 1 #Make it binary classifier
LR1 = LogisticRegression(penalty='l1')
LR2 = LogisticRegression(penalty='l1')
LR3 = LogisticRegression(penalty='l1')
LR4 = LogisticRegression(penalty='l1')
LR5 = LogisticRegression(penalty='l1')
clfs1= [LR1, LR2]
clfs2= [LR3, LR4, LR5]
cls_=[]
cls_.append(clfs1)
cls_.append(clfs2)
sclf = StackingClassifier(classifiers=sum(cls_,[]),
meta_classifier=LogisticRegression(penalty='l1'), use_probas=True, average_probas=False)
sclf.fit(X, y)
sclf.meta_clf_.coef_ #give the weight values
Для каждого классификатора Начальная логистическая регрессия дает значение вероятности для двух классов.Поскольку я использую стек 5 классификаторов, sclf.meta_clf_.coef_
дает 10 весовых значений.
массив ([[[- 0,96815163, 1,25335525, -0,03120535, 0,8533569, -2,6250897, 1,98034805, -0,361378, 0,00571954, -0.03206343, 0.53138651]])
Я не совсем понимаю порядок значений веса.означает
Являются ли первые два значения (-0.96815163, 1.25335525)
для первой логистической регрессии LR1
?
Являются ли вторые два значения (-0.03120535, 0.8533569)
дляпервая логистическая регрессия LR2
?
Я хочу выяснить, для каких значений логистическая регрессия (LR) используется для классификатора стека.
Пожалуйста, помогите.