用于凝聚层次聚类的 OpenCV 机器学习库
OpenCV machine learning library for agglomerative hierarchical clustering
我想使用凝聚层次聚类根据距离对一些 (x,y) 坐标进行聚类,因为以前不知道聚类的数量。是否有支持此任务的库?
我正在使用 Opencv 库在 C++ 中进行操作。
这是 link 用于 Python 的 OpenCV 中的 K-Means 聚类。
一旦你理解了逻辑,将其转换为 C++ 代码应该不会太难
在Gesture Recognition Toolkit (GRT) there is a simple module for hierarchical clustering。这是您需要的 "bottom up" 方法,其中每个观察从其自己的集群开始,并且随着一个集群向上移动,成对的集群被合并。
您可以通过以下方式训练该方法:
UnlabelledData
:关于 UnlabelledData
class,您真正需要了解的唯一一件事是您必须先设置数据集的输入维数您尝试将样本添加到训练数据集。
-
- 在尝试将样本添加到训练数据集之前,您必须设置数据集的输入维数,
- 将新样本添加到数据集时,不能使用
0
的 class 标签。这是因为0
的class标签是为特殊的空手势class. 保留的
MatrixDouble
:MatrixDouble
是N
维度数据存储M
的默认数据类型,其中M
是数字行数,N
是列数。
此外,您可以保存或加载模型 from/to 文件并通过 getClusters()
获取集群。
我想使用凝聚层次聚类根据距离对一些 (x,y) 坐标进行聚类,因为以前不知道聚类的数量。是否有支持此任务的库? 我正在使用 Opencv 库在 C++ 中进行操作。
这是 link 用于 Python 的 OpenCV 中的 K-Means 聚类。 一旦你理解了逻辑,将其转换为 C++ 代码应该不会太难
在Gesture Recognition Toolkit (GRT) there is a simple module for hierarchical clustering。这是您需要的 "bottom up" 方法,其中每个观察从其自己的集群开始,并且随着一个集群向上移动,成对的集群被合并。
您可以通过以下方式训练该方法:
UnlabelledData
:关于UnlabelledData
class,您真正需要了解的唯一一件事是您必须先设置数据集的输入维数您尝试将样本添加到训练数据集。-
- 在尝试将样本添加到训练数据集之前,您必须设置数据集的输入维数,
- 将新样本添加到数据集时,不能使用
0
的 class 标签。这是因为0
的class标签是为特殊的空手势class. 保留的
MatrixDouble
:MatrixDouble
是N
维度数据存储M
的默认数据类型,其中M
是数字行数,N
是列数。
此外,您可以保存或加载模型 from/to 文件并通过 getClusters()
获取集群。