这些是我拥有的一堆数据框的 2 个示例:
天 | p1 | p2 | p3 |
---|---|---|---|
4 | 2.1 | 3.4 | 4.5 |
15 | 2.2 | 3.6 | 2.8 |
39 | 2.5 | 2.1 | 0.4 |
还有这个:
天 | p1 | p2 | p3 |
---|---|---|---|
4 | 2.1 | 3.4 | 4.5 |
18 | 8.2 | 2.2 | 5.8 |
22 | 6.4 | 3.6 | 1.4 |
29 | 2.4 | 4.1 | 2.3 |
我有大约 100 万个这样的数据帧(相同的列,不同的长度),我想输出大约 50000 个数据帧的子集,它公平地代表了存在的所有不同的数据帧。基本上,数据帧应该是有效的表示,因此在完整的 100 万个或 50k 子集上训练 ML 模型应该为 ML 模型提供几乎相同的行为。
天数很重要,因为 2 个数据帧具有相同的参数 (p) 值,但天数列截然不同
我的方法想法是通过每个级别的变量将数据帧分组在一起。然后从底层的每组中取出 1 个数据帧。
组级别 1 (GL1):按行数对数据帧进行分组。
组级别 2 (GL2):对于 GL1 中的每个数据帧,使用聚类分析(DBSCAN 聚类?)对具有相似天数列的数据帧进行分组
Group Level 3 (GL3):对于 GL2 中的每个数据帧,使用聚类分析(DBSCAN 聚类?)将数据帧与相似的参数值分组在一起
从每个 GL3 组中取出 1 个数据帧来表示该组数据帧。
它可能无法获得每个参数的完整最大值和最小值,但这种方法似乎涵盖面很广。这是个好主意还是您有更好的主意?
这个想法是正确的,但是你可以应用这种方法: