高维数据可视化

Machine learning code

数 据 可 视 化 \color{BLUE}{数据可视化}

我是机器学习的初学者,最近在师兄的指导下,进行数据的降维可视化,因为对这些问题不是很透彻,为方便自己和大家,我写的尽量详细

基于PCA的数据降维,并且作图:
        首先说明,数据格式data.shape= [5,24,10,10] ,数据共分为5类,每类数据有10个样本数据。在降维之前要把所有的数据reshape一下,因为可视化要求输入的数据,必须是二维数据。
设输入的初始机器学习数为data
(1)获取降维之前的机器学习数据data

(2)将data降维到二维

data = data.reshape(50 ,-1)

(3)准备数据标签,我的数据是按照顺序排列的,因此使用以下语句进行
其排列方式为10个0,10个1,10个2,10个3,10个4.

arr1 = np.full(10,0)
arr2 = np.full(10,1)
arr3 = np.full(10,2)
arr4 = np.full(10,3)
arr5 = np.full(10,4)
labels = np.concatenate( (arr1, arr2,arr3,arr4,arr5))

(4)准备数据标签,我的数据是按照顺序排列的,因此使用以下语句进行

from sklearn.decomposition import PCA
pca = PCA(n_components=0.95)# 保证降维后的数据保持95%的信息
result = pca.fit(data)

(5)做出PCA可视化后的图

 plt.figure(figsize=(8, 6))
dict ={ 0:'label0',   1: 'label1',   2: 'label2',   3 :' label3',   4 :  'label4'}
for i in range (5):
    plt.scatter(y[(i+0)*10:(i+1)*10,0], y[(i+0)*10:(i+1)*10:,1], label = dict[i],s=100)
   #s 代表散点的大小
plt.legend(fontsize = 15,frameon = True,loc="lower right")	 #图例字体大小,有边框, 右下角
plt.tick_params(labelsize=20)				#刻度字体大小
matplotlib.rcParams['xtick.labelsize'] = 15
matplotlib.rcParams['ytick.labelsize'] = 15
matplotlib.rcParams['axes.labelsize'] = 40
plt.savefig("PCA.png" , dpi=300) 
#plt.show()

(6)效果展示

作图效果实现

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值