为什么我只看到一组截距,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_ 不是属性,我应该基于存储的协方差和每个类的均值构造决策函数方程吗?
另外,如何确定哪个标签对应于第一个或第二个协方差矩阵?
我也有同样的问题,请问有进展吗?