python为什么在这种情况下计算均值?

时间:2018-08-19 22:17:48

标签: scipy

我一直在试图理解以下代码来绘制scipy数据集的图像的注意事项:

def plot_faces(images, n_row=2, n_col=5):
    """Helper function to plot a gallery of portraits"""
    plt.figure(figsize=(1.5 * n_col, 2.2 * n_row))
    plt.subplots_adjust(0.6, 0.5, 1.5, 1.5)
    for i in range(n_row * n_col):
        plt.subplot(n_row, n_col, i + 1)
        plt.imshow(images[i].reshape((h, w)), cmap=plt.cm.gray)
        plt.xticks(())
        plt.yticks(())
    plt.tight_layout()
    plt.show()

Xmean = np.mean(X,axis=0).reshape(1,n_features) # average face
#plot the average face and some samples from the dataset
plot_faces(np.concatenate((Xmean,X[:9]),axis=0))

完整代码可从以下网站获得:

http://www.stats.ox.ac.uk/~sejdinov/teaching/atsml/notebooks/PCA_eigenfaces.html

我可以从以下代码中得出结论:

  • 他们想打印10张图像,X [:9]代表10张图像的样本
  • 特征的数量为2914,因此在Xmean中,它们正在计算图像每一列的平均值,然后作者将其重塑为(1,2914)的数组

我在这里提出的问题是为什么作者需要计算均值?当我绘制图像时,Xmean图像有些模糊,为什么?

0 个答案:

没有答案