假设我在2x4矩阵中有一些数据(4个数据点,2个特征)
X = np.array([[4,3,5,6], = [x1 x2 x3 x4]
[7,4,6,5]])
“最接近的” 3x4矩阵,它指示最接近每个数据点x的群集k。(3个集群,4个数据点)
C = [[1 0 1 0]
[0 0 0 1]
[0 1 0 0]]
我想找到一种有效的方法,使用numpy计算每个群集中数据点的平均值。
我的想法是构造一个看起来像这样的矩阵:
idea = [[x1 0 x3 0 ]
[0 0 0 x4]
[0 x2 0 0 ]]
将其元素汇总到各列中,然后除以中的相应元素np.sum(c,axis=1),因为均值应仅考虑属于该类的数据点(即不包括零)。
此示例的最终预期输出应为3x2矩阵:
output = [(x1+x3)/2 = [ [4.5 6.5]
x4 [6 5 ]
x2 ] [3 4 ]]
我什至无法构建看起来像我的idea矩阵的矩阵。
我不知道这是否是解决这个问题最有效的方法
我想避免使用任何for循环。
慕虎7371278
相关分类