PCA和PLS计算出重要的特征python 案例
时间: 2024-03-04 11:48:50 浏览: 127
PCA算法实例
以下是一个使用PCA和PLS计算出重要特征的Python案例:
PCA案例:
```python
import numpy as np
from sklearn.datasets import load_iris
from sklearn.decomposition import PCA
# 加载鸢尾花数据集
iris = load_iris()
X = iris.data
y = iris.target
# 创建PCA对象,设置要保留的特征数量
pca = PCA(n_components=2)
# 拟合PCA模型,并将数据转换到新的特征空间
X_pca = pca.fit_transform(X)
# 查看每个主成分的方差解释比例
print(pca.explained_variance_ratio_)
# 可视化降维后的数据
import matplotlib.pyplot as plt
plt.scatter(X_pca[:,0], X_pca[:,1], c=y)
plt.xlabel('PC1')
plt.ylabel('PC2')
plt.show()
```
输出结果中,explained_variance_ratio_数组的前两个元素表示了两个主成分的方差解释比例,用于评估降维后的特征空间的质量。可视化降维后的数据可以帮助我们更好地理解数据集的结构。
PLS案例:
```python
import numpy as np
from sklearn.datasets import load_diabetes
from sklearn.cross_decomposition import PLSRegression
# 加载糖尿病数据集
diabetes = load_diabetes()
X = diabetes.data
y = diabetes.target
# 创建PLS对象,设置要保留的特征数量
pls = PLSRegression(n_components=2)
# 拟合PLS模型,并将输入变量转换到新的特征空间
X_pls = pls.fit_transform(X, y)
# 查看每个主成分的方差解释比例
print(pls.x_scores_)
# 可视化降维后的数据
import matplotlib.pyplot as plt
plt.scatter(X_pls[:,0], X_pls[:,1], c=y)
plt.xlabel('PLS1')
plt.ylabel('PLS2')
plt.show()
```
输出结果中,x_scores_属性的前两列表示了两个主成分的方差解释比例,用于评估降维后的特征空间的质量。可视化降维后的数据可以帮助我们更好地理解数据集的结构。
阅读全文