Generalized K-Means Clustering
4 months ago
- #spark
- #clustering
- #machine-learning
- 项目通过dependabot.yml实现自动化依赖更新,遵循安全最佳实践。
- 0.6.0版本引入了现代化的、无RDD的DataFrame原生API,并集成了Spark ML功能。
- 将K-Means算法泛化为支持多种Bregman散度及高级变体,包括二分法、X-Means、软/模糊聚类、流式处理、K-Medians和K-Medoids。
- 支持多种散度计算:平方欧氏距离、KL散度、板仓-斋藤距离、L1/曼哈顿距离、广义I散度和逻辑损失。
- 已在700+维度的数千万数据点上完成测试验证。
- 全面的CI流水线确保代码质量,涵盖代码规范检查、构建矩阵、测试矩阵和安全扫描等多维度验证。
- 提供详细的诊断工具以优化性能并避免内存溢出(OOM)错误。
- 在模型拟合时自动验证不同散度类型,并给出可操作的错误提示。
- 所有模型实现DefaultParamsWritable/Readable接口,支持跨Spark版本的持久化存储。
- 保留旧版RDD API以维持向后兼容性,但建议新开发使用DataFrame API。