我正在尝试将一个大维矩阵减少到仅 2D,我正在使用 2D 数组的示例,它有效,但我需要为更高维的散点做同样的事情。我有两个类,每个类都有 50x20 维特征空间的矩阵。
对于我的例子,我有这些二维数组:
rectangles = np.array([[1,1.5,1.7,1.45,1.1,1.6,1.8],[1.8,1.55,1.45,1.6,1.65,1.7,1.75]])
triangles = np.array([[0.1,0.5,0.25,0.4,0.3,0.6,0.35,0.15,0.4,0.5,0.48],[1.1,1.5,1.3,1.2,1.15,1.0,1.4,1.2,1.3,1.5,1.0]])
之后我找到了三角形和矩形类的均值
# Calculate the mean vectors per class
mean_rectangles = np.mean(rectangles,axis=1).reshape(2,1)
mean_triangles = np.mean(triangles,axis=1).reshape(2,1)
通过矩形和三角形类给出的值,我用它们来计算散点:
scatter_triangles = np.dot((triangles-mean_triangles),(triangles-mean_triangles).T)
scatter_circles = np.dot((circles-mean_circles),(circles-mean_circles).T)
# Calculate the SW by adding the scatters within classes
SW = scatter_triangles+scatter_circles+scatter_rectangles
print(SW)
plt.show()
我想知道如何找到类内的散点并以完全相同的方式绘制它们,但对于更大的数据,恰好是 50x20 矩阵?
MM们
相关分类