gpt4 book ai didi

python - 如何使用 StackingClassifier + Logistic Regression(二元分类)查找系数的特征名称

转载 作者:太空宇宙 更新时间:2023-11-03 21:01:10 28 4
gpt4 key购买 nike

我正在尝试将 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 个权重值。

array([[-0.96815163, 1.25335525, -0.03120535, 0.8533569 , -2.6250897 , 1.98034805, -0.361378 , 0.00571954, -0.03206343, 0.53138651]])

我对权重值的顺序感到困惑。意思是

  • 第一个逻辑回归 LR1 的前两个值是 (-0.96815163, 1.25335525) 吗?

  • 第 2 个逻辑回归值 (-0.03120535, 0.8533569) 是第一个逻辑回归 LR2 吗?

我想找出哪些值适用于堆叠分类器的哪个 Logistic 回归 (LR)。

请帮忙。

最佳答案

如果你的输出是:

array([[-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 和 1 的概率

-0.03120535, 0.8533569:LR2 为 0 和 1 的概率

-2.6250897, 1.98034805:LR3 为 0 和 1 的概率

-0.361378, 0.00571954:LR4 为 0 和 1 的概率

-0.03206343, 0.53138651:LR5 为 0 和 1 的概率

关于python - 如何使用 StackingClassifier + Logistic Regression(二元分类)查找系数的特征名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55696386/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com