无监督学习是通过观察来学习,没有一个明确的标签来定义。
PCA主要是用于发现原始数据集中的属性之间不可见的关系和相关性。高度相关的属性是非常相似且多余的。PCA可删除冗余的属性。PCA另一个作用是在不影响重要信息的情况下降低数据的维度。
PCA的执行过程包括一下几步:
(1)计算一个给定数据集的相关或协方差矩阵
(2)找到相关或协方差矩阵的特征值和特征向量
(3)将特征向量矩阵与原始数据集相乘,得到主成分矩阵
下面用一段代码展示PCA原理:
在scikit-learn中也有现成的PCA,咱们直接调用也是可以的。
import pandas as pd
from sklearn.decomposition import PCA
pca_model=PCA(n_components=2)
components =pca_model.fit_transform(data)
components_df = pd.DataFrame(data = components,columns['principal_component_1','principal_component_2'])
print(components_df)