在理解聚类算法原理之后,通过实际案例去操作,既可以巩固对算法的理解,也有助于尽快把知识转化为生产力。下面将通过一个案例展示K均值聚类建模的流程和思路。
*本文通过可视化工具建模,这种方法优点是适合没有代码基础的人操作,缺点是不够灵活,工具仅提供了部分解决方案。无论使用哪种方法,建模的思路都是一致的,同时也是最重要的。
案例:给定一批啤酒的特征数据如卡路里、酒精含量、售价等,根据给定特征对这些产品进行聚类,并构造K均值聚类模型用于后续新产品的分类。
使用可视化建模工具进行数据预处理、模型训练、模型评估和新数据预测,构建完成的模型如下图。其中三部分分别对应三种方法【①数据未标准化&K=2】【②数据未标准化&K=3】【③数据标准化&K=2】。(K均值聚类的K值比较难确定可通过多个实验对比选择最优的一个;数据没有标准化特征的权重将会受到影响,但并不一定标准化处理后得到的模型效果就一定更好)
在开始建模之前,通过可视化或统计的手段观察一下原始数据,看是否需要对数据进行预处理。本案例数据较少且完整性和存储格式都符合标准,无需再进行过多预处理。
第①种方法执行后的到的聚类模型:
使用第①中方法的到的聚类结果,cluster_index标识当前产品分到的簇。
通过散点图观察样本点在各个特征上的分布,分析模型效果。其中黄色和蓝色分别代表聚类结果0和1,可以看到效果还比较理想。
聚类模型评估结果。可以根据评估得到的指标值去对比其他模型,确定具体哪个模型效果更好,在上述三种方法中,第一种方法的评估指标值最大,效果相对其他两种方法更好。
在得到模型之后,在部署前也可以用一些新的数据测试模型的聚类效果,以下是三条新的数据,分别代表三种新的啤酒。
将数据输入模型后的到如下的结果,实际工作中也可用已知类别的数据去进行测试验证。
最终选择合适的模型进行部署并使用即可。
聚类算法相对来说操作起来比较简单,但难点还是在于如何找到合适的参数。总之,有了正确的建模思路后,才能灵活运用各种方法。