学习记录--- 学会了心心念念的数据分布图

本文记录了如何运用PCA将高维特征降至2维,并通过散点图展示四类数据的分布情况,旨在理解不同类别间的分布特征。
摘要由CSDN通过智能技术生成

就是多维特征用一下PCA,降到2维,画散点图

reference:传送门

我的数据是四类,48维特征,一维label,看一下各类分布情况

源码

#参数:
#X:数据特征
#y:标签(2,3,4,5)

#数据分布
def distribution(X,y):
    import matplotlib.pyplot as plt              #加载matplotlib用于数据的可视化
    from sklearn.decomposition import PCA        #加载PCA算法包
    pca=PCA(n_components=2)                     #加载PCA算法,降维后主成分数目为2
    reduced_x=pca.fit_transform(X)              #对样本进行降维    

    red_x,red_y=[],[]
    blue_x,blue_y=[],[]
    green_x,green_y=[],[]
    yellow_x,yellow_y=[],[]

    for i in range(len(reduced_x)):
        if y[i] == 2:
            red_x.append(reduced_x[i][0])
            red_y.append(reduced_x[i][1])
    
        elif y[i] == 3:
            blue_x.append(reduced_x[i][0])
            blue_y.append(reduced_x[i][1])
            
        elif y[i] == 5:
            yellow_x.append(reduced_x[i][0])
            yellow_y.append(reduced_x[i][1])
            
        else:     #完成
            green_x.append(reduced_x[i][0])
            green_y.append(reduced_x[i][1])

    #可视化
    plt.scatter(red_x,red_y,c='r',marker='x',label='驱逐')
    plt.scatter(blue_x,blue_y,c='b',marker='+',label='失败')
    plt.scatter(green_x,green_y,c='g',marker='o',label='完成')
    plt.scatter(yellow_x,yellow_y,c='y',marker='*',label='被杀')
    plt.legend()
    plt.show()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值