数据预处理
继续提取代码片段:
12. **导入iris数据集并查看前5行数据**:
```python
from sklearn.datasets import load_iris
iris = load_iris()
X = iris.data
print('iris数据集的维度为:', X.shape)
print('iris数据集的前5行数据为:\n', X[:5])
```
13. **指定特征数的PCA降维并查看降维结果**:
```python
from sklearn.decomposition import PCA
pca_num = PCA(n_components=3)
pca_num.fit(X)
X_pcal = pca_num.transform(X)
print('对iris数据集进行指定特征数的降维后的维度为:', X_pcal.shape)
```
14. **查看降维后的数据**:
```python
print('进行指定特征数降维后, iris数据集的前5行数据为:\n', X_pcal[:5])
```
15. **查看原始特征与PCA主成分之间的关系**:
```python
import numpy as np
print('进行指定特征数的降维后的最大方差的成分:')
for i in range(pca_num.components_.shape[0]):
arr = np.around(pca_num.components_[i], 2)
print('component({}): {}'.format(i+1, arr))
```
16. **查看降维后的各主成分的方差和方差百分比**:
```python
var = np.around(pca_num.explained_variance_, 2)
print('进行指定特征数的降维后的各主成分的方差为:', [x for x in var])
var_ratio = np.round(pca_num.explained_variance_ratio_, 2)
print('进行指定特征数的降维后的各主成分的方差百分比为:', [x for x in var_ratio])
```
17. **指定方差百分比的PCA降维**:
```python
pca_per = PCA(n_components=0.95)
pca_per.fit(X)
X_pca2 = pca_per.transform(X)
print('对iris数据集进行指定方差百分比的降维后的维度为:', X_pca2.shape)
```
18. **指定方差百分比降维后查看数据**:
```python
print('进行指定方差百分比的降维后 iris数据集的前5行数据为:\n', X_pca2[:5])
```
19. **指定方差百分比降维后查看原始特征与PCA主成分之间的关系**:
```python
print('进行指定方差百分比降维后的最大方差的成分:')
for i in range(pca_per.components_.shape[0]):
arr = np.around(pca_per.components_[i], 2)
print('component({}): {}'.format(i+1, arr))
```
20. **指定方差百分比降维后查看各主成分的方差值和方差百分比**:
```python
var = np.round(pca_per.explained_variance_, 2)
print('进行指定方差百分比的降维后的各主成分的方差为:', [x for x in var])
var_ratio = np.round(pca_per.explained_variance_ratio_, 2)
print('进行指定方差百分比的降维后的各主成分的方差百分比为:', [x for x in var_ratio])
```
这些代码片段展示了如何使用Python进行数据预处理和降维处理,包括导入iris数据集、指定特征数的PCA降维、查看降维结果、分析原始特征与PCA主成分之间的关系,以及查看降维后的各主成分的方差和方差百分比。