利用PCA可视化异常点

异常点往往是由于某一个特征或者多个特征数值异常。但是对于多维度特征无法直接进行可视化观测异常点,利用PCA技术进行维度缩减,可以在二维或者三维空间上进行可视化展示。

原数据如下:

from sklearn.decomposition import PCA
pca=PCA(n_components=2) #压缩到二维空间中
x_pca=pca.fit_transform(df_test)
x_pca.shape
(6, 2)

画出散点图,找出异常点
plt.scatter(x_pca[:,0],x_pca[:,1],alpha=0.8,edgecolors='none')
plt.show()
pca.explained_variance_ratio_.sum()

找出异常点的索引号

l=[]
for i,item in enumerate(x_pca):
    if item[0]>-25 or item[1]>0:
        l.append(i)
        print(i)
4
5

总结:

       从原数据我们直观看数据,就发现第4和第5行数据属于异常,通过画图找出来的异常点与初步判断一致。

原文地址:https://www.cnblogs.com/gczr/p/9152112.html