Python:如何计算协方差矩阵并导出类似于映射结构的数据
输入有三个数组:Row_Index、Column_Index 和 Weight。可以想象成一个二维数组。这个数组非常稀疏,只有少数几个位置的值不是零。就像“Row_Index”和“Column_Index”里存的是那些非零值的位置坐标,而“Weight”里存的就是实际的值。
Row_Index = [1,1,1,2,2,2,2,3,4,4,5,5,5] (number of rows = 5);
Column_Index = [10, 20, 30, 15, 25, 35, 45, 20, 30, 10, 55] (number of columns = 55);
Weight = [1, 1, 2, 1, 3, 2, 1, 1, 1, 1, 2, 2, 3]
我想知道如何在Python中根据这些输入数据计算一个55*55的协方差矩阵。然后把结果导出成另外三列,分别包含特征、它的共特征和相关系数。例如 {1,1,1}、{1,2,0}、{1,10,-0.5}。
1 个回答
1
你用过numpy吗?它是一个非常棒的数学工具包,专门为Python设计,里面有统计和矩阵的功能。
下面是来自numpy 官网的一个例子:
>>> x = np.array([[0, 2], [1, 1], [2, 0]]).T
>>> np.cov(x)
array([[ 1., -1.],
[-1., 1.]])