1

我正在研究监督分类。首先,我想找到对区分每个类别具有重要权重的变量。我的代码如下:

from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA

X = X_train_std[0:1000,:]
y = y_train[0:1000]
target_names = classes

lda = LDA(n_components=2)
X_r2 = lda.fit(X, y).transform(X)

print('explained variance ratio (first two components) with LDA: %s'
  % str(lda.explained_variance_ratio_)) 

结果是:

explained variance ratio (first two components) with LDA: [0.64492115 0.24080238]

然后我试试这个:

lda.covariance_

我得到一个错误:

AttributeError                            Traceback (most recent call last)
<ipython-input-28-35184940aba0> in <module>
----> 1 lda.covariance_

AttributeError: 'LinearDiscriminantAnalysis' object has no attribute 'covariance_'

你有解决这个问题的想法吗?此外,如果您知道创建一个相关圈,那就太好了!

谢谢你。

4

1 回答 1

2

您必须在创建 LDA 时指定要存储协方差...

要解决这个问题:

lda = LDA(n_components=2, store_covariance=True)

应该这样做

干杯

编辑:对于相关圈,请参阅Plot a Correlation Circle in Python

于 2019-01-11T15:29:30.580 回答