为了账号安全,请及时绑定邮箱和手机立即绑定

如何计算 50x20 矩阵的类内散点

如何计算 50x20 矩阵的类内散点

慕盖茨4494581 2023-02-07 11:03:57
我正在尝试将一个大维矩阵减少到仅 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 classmean_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_rectanglesprint(SW)plt.show()我想知道如何找到类内的散点并以完全相同的方式绘制它们,但对于更大的数据,恰好是 50x20 矩阵?
查看完整描述

1 回答

?
MM们

TA贡献1886条经验 获得超2个赞

不幸的是,Numpy 不会将数组广播到列。尝试:

(np.array(c_A_array).T-c_A_array_mean).T

对于所有的减法。

这两个都试过了,我猜第二个更快:

np.array(c_A_array)-c_A_array_mean.reshape((5,1))


查看完整回答
反对 回复 2023-02-07
  • 1 回答
  • 0 关注
  • 54 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信