我正在尝试使用scikit-learn和pyssim来聚类一组图像 - 少于 100 个。
最终目标是根据计算的相似性度量 - CW-SSIM 将图像放入几个桶(集群)中。
这项任务似乎微不足道,但我想不出在 scikit-learn 中处理“基于相似性”聚类的最佳方法。K-Means 聚类看起来是个不错的选择,但它不接受任何“比较函数”或自定义距离函数。
那么如何在 scikit-learn 中处理基于比较(基于相似性)的聚类呢?
根据计算的 CW-SSIM 相似度值,我正在考虑每个单元格 1(相似)或 0(不相似)的“比较矩阵”。该矩阵将用于拟合 K-Means 聚类。但随后我们将面临可扩展性问题,因为这样的矩阵的维度将等于图像的数量……未来可能会增长到 1+ 百万。
如果 R 中有比 Python 更简单的选项,那么我也准备好复习了。
提前致谢。
2016 年 1 月 18 日更新
我在 GitHub 上创建了一些关于这个主题的代码:https ://github.com/llvll/imgcluster
该项目还包括 IP[y] Notebook 分步说明和额外注释:https ://github.com/llvll/imgcluster/blob/master/ip%5By%5D/imgcluster.ipynb