用python实现LDA降维
时间: 2023-09-23 18:13:28 浏览: 214
基于python的LDA模型实现代码
5星 · 资源好评率100%
LDA(Linear Discriminant Analysis)是一种经典的线性降维方法,通常用于特征提取和分类任务。在Python中,我们可以使用scikit-learn库来实现LDA降维。
首先,我们需要准备数据。这里我们使用Iris数据集:
```python
from sklearn.datasets import load_iris
data = load_iris()
X = data.data
y = data.target
```
接下来,我们可以使用scikit-learn中的LDA类来进行降维。可以设置降维后的维度数,这里我们将数据降为2维:
```python
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
lda = LinearDiscriminantAnalysis(n_components=2)
X_lda = lda.fit_transform(X, y)
```
最后,我们可以可视化降维后的数据:
```python
import matplotlib.pyplot as plt
plt.scatter(X_lda[:, 0], X_lda[:, 1], c=y)
plt.xlabel('LD1')
plt.ylabel('LD2')
plt.show()
```
完整代码如下:
```python
from sklearn.datasets import load_iris
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
import matplotlib.pyplot as plt
data = load_iris()
X = data.data
y = data.target
lda = LinearDiscriminantAnalysis(n_components=2)
X_lda = lda.fit_transform(X, y)
plt.scatter(X_lda[:, 0], X_lda[:, 1], c=y)
plt.xlabel('LD1')
plt.ylabel('LD2')
plt.show()
```
阅读全文