使用 K-means 算法进行客户分类

  • 时间:
  • 浏览:54

  本文为 AI 研习社编译的技术博客,原标题 :

  Customer 365体育segmentation using Machine Learning K-Means Clustering

  翻译 | 吕鑫灿、就2 校对 | 就2 整理 | 志豪

  原文链接:

  http://www.patterns7tech.com/customer-segmentation-using-machine-learning-k-means-clustering/

  Rajshekhar Bodhale | 2017年11月17日 | 机器学习

  基于信息技术的大多数平台正在生成大量数据。这些数据称为大数据,它承载了大量的商业智能。这些数据互相交融以满足不同的目标和可能性。应用机器学习技术就很有可能为客户创造价值。

  假设你有1000个客户使用你的平台并且不断地产生体量庞大的大数据,任何关于这方面的深入见解都将产生新的价值。

  作为Patterns7团队不断尝试的机器学习计划和创新事物的一部分,我们对K-Means聚类算法进行了实验,这为客户带来的价值非常惊人。

  聚类是将一组数据点划分为少量聚类的过程。在本部分中,你将理解并学习到如何实现K-Means聚类。

  K-Means聚类是一种常用于将数据集自动划分为K个组的方法,它属于无监督学习算法。

  这是一种通用算法,可用于任何类型的分组。部分使用案例如下:

  对于python,我使用的是Spyder Editor。

  下面,我们将展示K-means算法如何处理客户费用和发票数据的例子。

  我们有500个客户数据,我们关注两个客户特征: 客户发票,客户费用。

  一般来说,只要数据样本的数量远远大于特征的数量,该算法可以用于任意数量的特征。

  对于这个示例,我们已经清理和做了一些简单的数据转换。下面是pandas DataFrame的数据样本。

  导入库,

  1、numpy 即用于数学工具的,以在我们的代码中包含任何类型的数学

  2、matplotlib 绘制漂亮的图表

  3、pandas 用于导入数据集和管理数据集

  下图显示了500个客户的数据集,总发票在x轴,总费用在y轴。

  上面描述的算法找到一个特定的预先选择K的集群和数据集标签。

  为了找到数据中的集群数量,用户需要运行K-means聚类算法对K个值的范围进行聚类并比较结果。一般来说,没有确定K的精确值的方法,但是可以使用以下技术得到精确的估计值。

  通常用于比较不同K值之间的结果的度量之一是:

  数据点与它们的集群中心之间的平均距离。

  因为增加集群的数量总是会减少到数据点的距离,所以增加K总是会减少这个度量,当K等于数据点的数量时达到0的极限。因此,这个指标不能作为唯一的目标。相反,将与质心的平均距离作为K的函数绘制出来,并使用“弯头点”(急剧下降的速度)来粗略地确定K。

  用弯头法求出最优簇数K=3。对于本例,使用Python包scikit-learn进行计算,如下所示:

  步骤4:查看结果

  下面的图表显示了结果。

  想要继续查看该篇文章更多代码、链接和参考文献?

  戳链接:

 365官网  http://www.gair.link/page/TextTranslation/691

  AI研习社每日更新精彩内容,点击文末【阅读原文】即可观看更多精彩内容:

  Google 启动新搜索引擎,帮助科学家找到需要的数据集

  立志成为数据科学家?掌握以下基础

  等你来译:雷锋网雷锋网(公众号:雷锋网)雷锋网

  建立一个基于深度学习的混合型的内容协同电影推荐系统

  决策树:一种像人脑一样工作的算法

  如何用 Dask 数据框架运行并行数据分析

  蒙特卡洛模拟航空公司超订

  游戏 AI 入门指南

  雷锋网原创文章,未经授权禁止转载。详情见转载须知。


365体育 365官网 365体育

猜你喜欢