sklearn 线性和二次判别分析:如何解释 coef_ 和截距项,以及为什么 qda 没有 coef_

问题描述 投票:0回答:1

为什么我只看到一组截距,lda 的 coefs?两类结果不应该有两个吗?
我的代码:

train_X = stock_data.loc[stock_data.Year == 2020,['mean_return','volatility']]
test_X = stock_data.loc[stock_data.Year == 2021,['mean_return','volatility']]
train_y = np.ravel(stock_data.loc[stock_data.Year == 2020,['Label']].values)
test_y = np.ravel(stock_data.loc[stock_data.Year == 2021,['Label']].values)

qda = QuadraticDiscriminantAnalysis(store_covariance=True)
lda = LinearDiscriminantAnalysis(store_covariance=True)

lda.fit(train_X,train_y)
(lda.intercept_, lda.coef_)

给予

(array([0.43428967]), array([[-0.6935597 , -0.02651876]])).  

根据 sklearn 文档,我期望输出对与每个类对应的元素。

我是否误读了文档,这些系数实际上是赔率的对数?

对于 qda,为什么 coef_ 不是属性,我应该基于存储的协方差和每个类的均值构造决策函数方程吗?

另外,如何确定哪个标签对应于第一个或第二个协方差矩阵?

python machine-learning scikit-learn statistics linear-discriminant
1个回答
0
投票

我也有同样的问题,请问有进展吗?

© www.soinside.com 2019 - 2024. All rights reserved.