algorithm - 将 3D 矩阵中的数据与另一个矩阵聚类

标签 algorithm matrix 3d data-mining cluster-analysis

我有 2 个数据立方体表示为 3D 矩阵。它们都具有相同的尺寸。我们必须进行基于规则的排序。我们的条件是,如果它们的任何子立方体(子立方体必须在位置和方向上完全匹配)匹配至少 p%,我们可以说它们是相似的。现在给定两个包含数据的 3D 矩阵,我们必须编写一个算法来打印给定两个立方体中相似子立方体的数量。

我尝试了蛮力算法,但事实证明它在大型数据集上非常慢。我可以在这里使用任何特定算法或任何技术吗??

提前致谢。

最佳答案

我们可以采用 this question 中的第一个解决方案.构造另一个名为 count 的 3D 矩阵,并用 1 填充其对应于匹配数据的所有边缘单元格。然后,从count(1,1,1)开始,考虑字典序的单元格,为i设置count(i, j, k), j,k 使得数据匹配已设置的任何邻居的最小值。如果数据不匹配,则设置 count(i, j, k) = 0

最后,count 的非零元素包含匹配的立方体,它们的值表示立方体的宽度。

关于algorithm - 将 3D 矩阵中的数据与另一个矩阵聚类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20579908/

相关文章:

algorithm - 将 Damm 算法扩展到 base-32

c# - 搜索 IP 范围 - 算法/数据结构?

javascript - 在 Javascript 中创建多维数组和矩阵

matlab - 在 MATLAB 中用小立方体填充立方体的整个体积

wpf - 从 ViewPort 中删除 ScreenSpaceLines3D 对象?

c# - 模板缓冲区读/写掩码

c# - 在列表中查找最近的 sumElement 组合

c# - 分割自相交多边形的算法

python - 在 Tensorflow 中对两个不同形状矩阵的逐行元素乘积进行向量化

c - 在 C 中生成随机矩阵的问题