聚类分析在用户行为中的实例_聚类分析案例之市场细分

聚类是将数据分类到不同的类或者簇这样的一个过程,所以同一个簇中的对象有很大的相似性,而不同簇间的对象有很大的相异性。

从统计学的观点看,聚类分析是通过数据建模简化数据的一种方法。传统的统计聚类分析方法包括系统聚类法、分解法、加入法、动态聚类法、有序样品聚类、有重叠聚类和模糊聚类等。

从机器学习的角度讲,簇相当于隐藏模式。聚类是搜索簇的无监督学习过程。与分类不同,无监督学习不依赖预先定义的类或带类标记的训练实例,需要由聚类学习算法自动确定标记,而分类学习的实例或数据对象有类别标记。聚类是观察式学习,而不是示例式的学习。

从实际应用的角度看,聚类分析是数据挖掘的主要任务之一。而且聚类能够作为一个独立的工具获得数据的分布状况,观察每一簇数据的特征,集中对特定的聚簇集合作进一步地分析。聚类分析还可以作为其他算法(如分类和定性归纳算法)的预处理步骤。

聚类分析的核心思想就是物以类聚,人以群分。在市场细分领域,消费同一种类的商品或服务时,不同的客户有不同的消费特点,通过研究这些特点,企业可以制定出不同的营销组合,从而获取最大的消费者剩余,这就是客户细分的主要目的。在销售片区划分中,只有合理地将企业所拥有的子市场归成几个大的片区,才能有效地制定符合片区特点的市场营销战略和策略。金融领域,对基金或者股票进行分类,以选择分类投资风险。

下面以一个汽车销售的案例来介绍聚类分析在市场细分中的应用。

聚类是将数据分类到不同的类或者簇这样的一个过程,所以同一个簇中的对象有很大的相似性,而不同簇间的对象有很大的相异性。

从统计学的观点看,聚类分析是通过数据建模简化数据的一种方法。传统的统计聚类分析方法包括系统聚类法、分解法、加入法、动态聚类法、有序样品聚类、有重叠聚类和模糊聚类等。

从机器学习的角度讲,簇相当于隐藏模式。聚类是搜索簇的无监督学习过程。与分类不同,无监督学习不依赖预先定义的类或带类标记的训练实例,需要由聚类学习算法自动确定标记,而分类学习的实例或数据对象有类别标记。聚类是观察式学习,而不是示例式的学习。

从实际应用的角度看,聚类分析是数据挖掘的主要任务之一。而且聚类能够作为一个独立的工具获得数据的分布状况,观察每一簇数据的特征,集中对特定的聚簇集合作进一步地分析。聚类分析还可以作为其他算法(如分类和定性归纳算法)的预处理步骤。

聚类分析的核心思想就是物以类聚,人以群分。在市场细分领域,消费同一种类的商品或服务时,不同的客户有不同的消费特点,通过研究这些特点,企业可以制定出不同的营销组合,从而获取最大的消费者剩余,这就是客户细分的主要目的。在销售片区划分中,只有合理地将企业所拥有的子市场归成几个大的片区,才能有效地制定符合片区特点的市场营销战略和策略。金融领域,对基金或者股票进行分类,以选择分类投资风险。

下面以一个汽车销售的案例来介绍聚类分析在市场细分中的应用。

商业目标

业务理解:数据名称《汽车销售.csv》。该案例所用的数据是一份关于汽车的数据,该数据文件包含销售值、订价以及各种品牌和型号的车辆的物理规格。订价和物理规格可以从 edmunds.com 和制造商处获得。定价为美国本土售价。如下:

表1:数据视图

业务目标:对市场进行准确定位,为汽车的设计和市场份额预测提供参考。

数据挖掘目标:通过聚类的方式对现有的车型进行分类。

数据准备

通过数据探索对数据的质量和字段的分布进行了解,并排除有问题的行或者列优化数据质量。

第一步,我们使用统计节点审核数据的质量,从审核结果中我们发现存在缺失的数据,如下图所示:

第二步,对缺失的数据进行处理,我们选择使用缺失填充节点删除这些记录。配置如下:

建模

我们选择层次聚类进行分析,尝试根据各种汽车的销售量、价格、引擎、马力、轴距、车宽、车长、制动、排量、油耗等指标对其分类。

因为层次聚类不能自动确定分类数量,因此需要我们以自定义的方式规定最后聚类的类别数。层次聚类节点配置如下(默认配置):

可以使用交互表或者右击层次聚类节点查看聚类的结果,如下图所示:

再使用饼图查看每个类的大小,结果如下:

从图中可见,分成的三个类样本数差异太大,cluster_0和cluster_1包含的样本数都只有1,这样的分类是没有意义的,因此需要重新分类。我们尝试在层次聚类节点的配置中指定新的聚类方法:完全。新的聚类样本数分布如下:

cluster_0、 cluster_1、cluster_2的样本数分别为:50、9、93。

执行后输出树状/冰柱图,可以从上往下看,一开始是一大类,往下走就分成了两类,越往下分的类越多,最后细分到每一个记录是一类,如下所示:

我们可以再使用条形图查看每类的销售量、平均价格,如下图所示:

每类总销量分布图

每类平均销量分布图

每类平均价格分布图

我们再看一下每类的销售额分布情况。首先,我们需要使用Java代码段节点或者派生节点生成销售额字段,配置如下:

再使用饼图查看销售额分布情况,cluster_0、 cluster_1、cluster_2的市场份额分别为:32.39%、0.53%和67.08%,如下图所示:

案例小结

通过这个案例,大家可以发现聚类分析确实很简单。进行聚类计算后,主要通过图形化探索的方式评估聚类合理性,以及在确定聚类后,分析每类的特征。

本文转自数据科学研习社 作者陈丹奕

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/538249.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 编译system.img,android生成sysytem.img的命令过程

Fromhttp://xianghuaclm.blog.163.com/blog/static/6668783201110221486240/使用#file system.img输出:system.img: Linux rev 0.0 ext2 filesystem data,UUID4eb0489c-647d-49d8-9111-94657b5fd342, volume name"system"。然而本人使用命令#mkyaffs2imag…

Hive的hiveserver2后台开启和关闭

前提:hive/bin配置了环境变量。如果没有配置,cd到 hive目录下的bin里,再执行。 开启命令: nohup hive --service hiveserver2 & 产生的日志: 默认在: 用户文件夹里 [rootmaster ~]# ll total 80 …

记一次,jvm 内存溢出

1、什么是内存泄漏内存泄漏是指,有未被释放的java对象,一直停留在内存中。GCRoot 无法追踪到此对象,导致此对象无法被回收。 2、什么是内存溢出内存溢出是指,java程序创建对象需要内存,但是却没有内存可用了&#xff0…

ebnf范式_使用Scala基于词法单元的解析器定制EBNF范式文法解析

前言近期在做Oracle迁移到Spark平台的项目上遇到了一些平台公式翻译为SparkSQL(on Hive)的需求,而Spark采用亲妈语言Scala进行开发。下面是个意外,被论文查重了,移步至我的Leanote博客查看点我,先乱码一段时间[分后,拟使中的EB式&…

钻石指标和完美的计算

钻石的高度计算公式为:钻石的高度直径的三次方(单位毫米)0.00366(允许有0.03克拉的误差)例如,0.5克拉的钻石直径是5.01毫米,则它的高为:5.01*5.01*5.01*0.003660.46说明0.5克拉的钻石直径只有0.46克拉钻石的…

linux开机自动ZFS,linux – 为什么重新启动导致我的ZFS镜像的一面成为UNAVAIL?

我最近刚刚将批量数据存储池(ZFS OnLinux 0.6.2,Debian Wheezy)从单设备vdev配置迁移到双向镜像vdev配置.之前的池配置是:NAME STATE READ WRITE CKSUMakita ONLINE 0 0 0ST4000NM0033-Z1Z1A0LQ ONLINE 0 0 0在重新启动完成后一切都很好(我在重新启动完成后启动了一…

华为交换机默认vlan都是通的吗_【思唯网络学院】华为交换机常用的三种vlan划分方法...

端口类型在学习划分vlan前,必须要了解华为交换机的端口类型,以及他们的使用方法,因为端口的类型在实际配置中是必须会用到的,因为下面的vlan划分会用到。1、Access类型端口执行命令port default vlan vlan-id,将端口加…

Spark应用日志级别设置

Spark-core包设置默认的日志级别为info,所以我们才看到一大堆日志信息。 开发的时候,把print的日志掩盖了。 方法一: 代码中设置日志级别 JavaSparkContext contextnew JavaSparkContext(conf); context.setLogLevel("warn"); 方…

linux 恢复操作系统,如何恢复Linux操作系统的GRUB引导程?

先使用一张修复盘进入grub,或者利用其他linux恢复盘等等进入linux系统,然后进入grub控制台。总之就是想尽办法进入一个控制台就是了。然后准备引导进入硬盘上的Linux系统。如下:  grub> root (hd0,10)  grub> kernel /boot/vmlinuz…

Centos 7初始化脚本

今天跟大家分享一个我自己写的Linux初始化脚本,自认为写的不是很好。希望看到这篇文章的你,能暂时停留下你的脚步,给些修改意见,或者有什么需要补充的地方都可以提出来,大家共同进步,谢谢!此脚本…

Hive-sql与SQL的区别

总体一致: Hive-sql与SQL基本上一样,因为当初的设计目的,就是让会SQL不会编程MapReduce的也能使用Hadoop进行处理数据。 因此,大胆使用SQL的,如果遇到不对的,再查。 区别: Hive没有delete和u…

python闰年多一天_记一个 python datetime 闰年问题

python中datetime是比较常用的,平时用起来也没什么问题,但是今天2020年2月29日服务器却开始报错了,这里有个平时难以注意的坑服务器上跑的是新浪网的爬虫,抓取的页面信息中带有日期 XX月XX日,需要strfptime转化一下&am…

linux find 按类型查找,Linux find查找find命令详解

玩蛇网推荐图文教程:python 列表Linux命令有很多,今天要介绍的是常用的基础命令中的find命令。find是Linux系统管理员所喜爱用的必备工具命令之一,它的作用是可以很轻松地找到你想要的文件,一个命令就可以在众多文件中找到你的目标…

window安装gcc编译器

在使用 GraphLab Create 时,导入包失败,提示libs没有的导入,而这些libs的编译是需要gcc。 1、访问:http://www.mingw.org/ 下载。 2、双击安装 3、安装好后会弹出下面的组件安装界面 3、找到mingw32-gcc-g(注意cl…

视频AI,助力体育赛事转播走进智能时代

摘要:2018俄罗斯世界杯经过近20天的激战,已经进入到最关键的阶段。本次赛事除了精彩纷呈的比赛之外,还加入很多高科技的元素,例如门线、VAR技术等等。让本届世界杯成为科技含量最高的一届世界杯。2018俄罗斯世界杯经过近20天的激战…

python求同构数_用c语言求1到1000的同构数_后端开发

python与平台有关吗_后端开发Python与平台无关,因为Python是跨平台的语言,Python作为脚本语言,是解释执行的,所以能跨平台,前提是必须要有一个对应的解释器。具体请看实例:python中count函数的用法详解_后端…

element表格实现树形全选_很实用!word中全选的快捷键介绍及使用方法

全选快捷键可以提高我们在操作word时工作效率,在操作Word2003中怎么对文档中的文字进行全选呢?下面为大家提供几种全选的方法,绝对好用。Word怎样全选?方法一、使用Word全选快捷键“CtrlA”进行全选(也适用于电子表格);方法二、展开菜单栏中的“编辑”…

am3352 linux 内核 编译,am335x uboot, kernel 编译

一、设置环境变量// 写在家目录下面的 .bashrc 里面export KERNEL_PATH~/aplex/kernel3.2.0 // kernel 路径export UBOOT_PATH~/aplex/uboot2011.09 // u-boot 路劲export ROOTFS_PATH~/aplex/filesystemexport TOOLFS_PATH~/aplex/toolsexport ARCHarm // 设置平台类型export …

Docker的应用场景

原文链接:http://blog.csdn.net/dev_csdn/article/details/78424803 ------------------------------------------------------------------- Docker是开发人员和系统管理员构建,发布和运行分布式应用程序的开放平台,可以在笔记本电脑、数据…

cad多段线画圆弧方向_【学员分享】CAD多段线用法

原标题:【学员分享】CAD多段线用法1、执行方法:(1)菜单栏:绘图→多段线(2)绘图功能区:绘图→多段线按钮(3)快捷键:PL2、使用方法(1)多段线与直线的区别:直线每一段都是分开的,图画完后不是一个整…