吾本轻狂|主成分分析,PCA( 四 )
画箭头的function:
Ax.annotate(self,text,xy,*args,**kwargs)
Annotatethepointxywithtexttext,
ax.annotate('',v1,v0,arrowprops=arrowprops)
直线是点xy到xytext之间 , 即v1和v0这两个点连成一条直线 , 箭头的样式定义在arrowprops这个dictionary里面 。
arrowprops=dict(arrowstyle='arrowstyle箭头的类型 , arrowstyle变成’->’时 , 方向就会反过来 。 Linwidth:线条宽度 , shrink:就是要不要缩短箭头 , 我们这里就不需要了 , color:箭头颜色 。
下面看看当我们把维度降下来 , 变成一个component的时候:此时需要把n_components=1 , 之前的S里面有两个基础向量 , 现在把n_components设置为1后变成了一个 。 在S矩阵里面 , 从左上角到右下角 , 取出第一个sigma 。
pca=PCA(n_components=1)pca.fit(X)X_pca=pca.transform(X)print("originalshape:",X.shape)print("transformedshape:",X_pca.shape)
给原来的矩阵降维 , 这里设置的n_components=1 , 最终维度为1 。
Pca.inverse_transform(X_pca):transformdatabacktoitsoriginalspace.
把降维后的数据还原到原来的空间中 , 这边是把二维降维到一维后的数据还原到二维空间中 , 还原到二维空间后 , 其中一个维度的信息被丢失就不能展示出来 。
defplot_digits(data):fig,axes=plt.subplots(4,10,figsize=(10,4),subplot_kw={'xticks':[],'yticks':[]},gridspec_kw=dict(hspace=0.1,wspace=0.1))fori,axinenumerate(axes.flat):ax.imshow(data[i].reshape(8,8),cmap='binary',interpolation='nearest',clim=(0,16))plot_digits(digits.data)
每个component的方差所占比例:Explained_variance_ratio_=explained_variance_/total_var
每个component的方差所占比例求和:Np.cumsum() 。
推荐阅读
- 吾本轻狂|美国巨头微软始料未及,替换行动开始?倪光南院士公开发声
- 吾本轻狂|这3句“暗语”一说,导购员不敢轻易忽悠你,去实体店购买手机时
- 吾本轻狂|国产芯片虽成“靠山”,但性能或将全面倒退,华为再遭“断供”
- 吾本轻狂|局域网接口频繁Up/Down故障排查思路分销
- 吾本轻狂|衷心感谢且听风啸啸网友,关于Luminar4无法在PS中使用的解决方法
- 吾本轻狂|让该行业巨头猝不及防,华为真的爆发了!一领域4年排名中国第二
- 吾本轻狂|全网首发:12306抢票算法大曝光?(十张图搞定)
- 吾本轻狂|腾讯市值瞬间蒸发3600亿,国产社交App在美彻底沦陷,封禁微信
- 吾本轻狂|11将与鸿蒙2.0同时发布,新功能让我没有不升级的理由!,华为EMUI
- 吾本轻狂|成立智慧交通联合创新实验室,赤峰交警携手平安智慧城市