关于Kmeans的K值确定

来源:6-8 使用Spark-ml实现基于Kmeans的用户消费分群

前田慶次

2021-09-25

 /** 通过K-Means模型对用户进行分群*/
    val kms = new KMeansModel()
    //kms.setK(rfm_scaler,2,11)
    val prediction = kms.kmsCluster(rfm_scaler,4)
    

老师好,这里通过手肘法获取k值是通过运行kms.setK(rfm_scaler,2,11),然后人工观察运行结果得出K值填入的,实际项目如何自动获取到手肘法的K值呢?

写回答

2回答

小简同学

2021-09-25

补充一下,通过数组获得最佳的k值后,如何将这个k值传递给模型呢?通常是写到hdfs的一个文件里,然后模型从这个文件读取k值。

0
1
前田慶次
非常感谢!
2021-09-26
共1条回复

小简同学

2021-09-25

同学你好,通常是把这些计算出来的SSE放到一个数组里,然后求这个数组的最小值,即最小的SSE,即可获得最佳的k值。scala数组有自带的min函数。祝学习愉快!

0
0

Spark+ES+ClickHouse 构建DMP用户画像

大数据主流技术,数据挖掘核心算法,用户画像完整知识轻松掌握

306 学习 · 219 问题

查看课程