【发布时间】:2019-02-08 14:14:44
【问题描述】:
我有一个数据集,其中包含 10 个接口的测量值(表示为 A、B、..、J)。每个接口有 3 个传感器 - 所以对于接口 A,我们将这些传感器表示为 A1、A2、A3。
我的目标是测量不同接口的测量值之间的差异。我认为最好使用Frobenius Norm,即——对于2个矩阵A、B,范数定义为:
这意味着最终我想要一个 10x10 对称矩阵,其矩阵距离(当然,对角线为零)。
我的数据集是一个 CSV 文件,包含约 25K 行和 30 列(10 个接口 * 3 个传感器)。使用 python (numpy 和 pandas) 执行此计算的最佳方法是什么?我知道如何为列做这件事(例如使用sklearn.metrics.pairwise.euclidean_distances),但我没有找到一种优雅的方法来增强它的矩阵。
编辑:
我的数据集看起来如何的一个小例子(而不是行号有时间戳,并不是说它太重要了......):
A1 A2 A3 ... J1 J2 J3
1 3.2 12.9 -7.8 ... 5.5 11.2 -6.9
2 3.4 12.7 -8.0 ... 5.6 11.3 -7.9
3 3.2 12.9 -7.8 ... 5.6 11.4 -7.6
【问题讨论】:
-
我不认为问“最好的方法”是有成效的。您对“足够好的解决方案”的限制是什么?内存复杂度,时间复杂度?
-
只要不需要用永恒来计算——对我有好处(意思是,没有实际限制......)
-
你能发布一个你的问题的最小例子吗?不是 25K 行,也许只有 6-9 列?
-
@AlexYu 我加了一个3行的例子