x=np.cov(x_train, rowvar=False) a,b=np.linalg.eig(x) list1=[] c=list(a) for i in range(10): list1.append(max(c)) c.remove(max(c)) list1.sort(reverse=True) list2=list(b[:,list1.index(list1[0])]) list3=list(b[:,list1.index(list1[1])]) list4=range(0,10) list5=range(0,784) plt.plot(list4,list1,color='red', marker='*', linewidth=3,markersize=12,label='plot figure') plt.xlim(-0.5,10) plt.xlabel('x label') plt.ylabel('y label') plt.legend(loc="lower right") plt.legend(loc='best') plt.show() list5=range(0,784) plt.plot(list5,list2, color='lightblue',linewidth=3,label='plot figure') plt.xlim(-10, 800) plt.ylim(-0.15,0.15) plt.xlabel('x label') plt.ylabel('y label') plt.title('result') plt.legend() plt.show() plt.plot(list5,list3, color='lightblue',linewidth=3,label='plot figure') plt.xlim(-10, 800) plt.ylim(-0.15,0.15) plt.xlabel('x label') plt.ylabel('y label') plt.title('result') plt.legend() plt.show()
时间: 2024-01-15 07:03:00 浏览: 120
np.mean np.cov numpy.corrcoef pyplot.scatter pyplot.contour函数
这段代码的主要功能是基于 MNIST 训练数据集计算协方差矩阵,然后对协方差矩阵进行特征值分解,最后根据前两个最大特征值对应的特征向量,在二维平面上绘制出数据集的主成分分布情况。
具体的解释可以参考代码注释。需要注意的是,代码中的绘图操作使用了 matplotlib 库,如果您要运行该代码,请确保已经正确安装了该库。
阅读全文