总的来说,对无监督数据进行聚类并非易事。现如今的数据处理和探索无法准确的测量数据。这也意味着我们对数据的处理和探索变得愈发困难。

此外,关于在无监督学习的入门课程中,对拿来讨论的理想的案例,k-means教程,也只适用于数值特性。

在这篇文章中,作者将通过R语言进行非监督分类训练。

  • 第一部分包括方法论:作者正在讨论使用距离的数学概念来衡量个体间相似性的问题。然后介绍了PAM集群算法(围绕medoids进行分割)以及选择最佳集群数(轮廓系数)的方法。

  • 在第二部分中,作者将使用uci机器学习数据库中提供的银行营销数据集和Rtsne软件包中的一些函数来说明该方法。该数据集与葡萄牙某银行机构的电话营销活动相关。我们会把这些数据用于对监督学习情况的讨论。

第一部分:方法论

如何测量相似性

(数据科学家作用在于在对未知数据进行集群时,我们不能盲人摸象,只看到事物的一面。他们主张与数据产生一定的"距离",以便更全面地了解它们。)

距离是对个体之间相隔多远的数值度量,也就是说,用于测量个体之间的接近度或相似度的度量。面对众多的度量,作者必须要介绍的是 Gower distance  (1971)。

Gower距离被用于计算个体之间部分差异的平均值。(Gower距离的范围为[0 1]。)

其中表示不相似的(d_ij ^ f)计算取决于被评估的变量的类型。这意味着每个特性都应该有一个固定的标准,并且两个个体之间的距离是所有特性距离的平均值。

· 对于数值特性f,部分相异性是:观察的绝对差异x_i和x_j之间的比率,从所有个体观察到的最大范围:d_ij ^ f = | x_i - x_j | / |(max_N(x) - min_N(x))| ,N是数据集中的个体数量。

数值特性的部分差异度计算(R_f =观察到的最大范围)

· 对于定性特性f,仅当观测值y_i和y_j具有不同的值时,部分相异度等于1。否则为0。

注意:Gower距离可使用R集群包中的daisy()函数。首先自动标准化特性(即重新缩放以落在[0 1]范围内)。

聚类算法:围绕MEDOIDS(PAM)进行分区

Gower距离与k-medoids算法非常相似。k-medoid是一种经典的聚类技术,它将n个对象的数据集集群变为已知的k个集群。

与k-means算法非常相似,PAM具有以下特性:

· 优点:与k-means(由于使用距离的属性)相比,它更直观,对噪声和异常值更敏感,并且它为每个集群产生一个"典型个体"。

· 缺点:它耗费时间,属于计算机密集型(运行时和内存是二次的)。

评估数据集群内的一致性

除非你有一个很好的先验原理来强制特定数量的集群k,否则你可能会向计算机请求基于统计数据的推荐。存在若干方法来限定所选的集群的相关性。在第二部分中,我们使用了轮廓系数。

解释

基本上有两种方法可以调查这种集群实践的结果,以便得出一些专业的解释。

1.每个集群基本都要使用R中的summary()函数。

2.学会利用t-SNE,它是一种用于降维的技术,其特别适合于高维数据集的可视化。

我们在用例中介绍了这两种情况(第二部分)。让我们应用和说明!

第二部分:使用案例

在此用例中,我们将尝试根据以下特性对银行客户进行分组:

· 年龄(数字)

· 工作类型(类别):'行政'、'蓝领'、'企业家'、'女佣'、'管理'、'退休'、'自雇'、'服务'、'学生'、'技师'、'失业'、'未知'

· 婚姻状况(类别):'离婚'、'已婚'、'单身'、'未知'

· 教育(类别):'初级'、'中级'、'大专'、'未知'

· 违约:有过违约记录吗?(类别):'没有'、'有'、'未知'

· 余额(数字):年平均余额,以欧元为单位

· 住房:有住房贷款吗?(类别):'没有'、'有'、'未知'

根据Gower距离划分的相似和不同的客户:

在商业环境中,我们通常会搜索一些有意义且易于记忆的集群,即最多2到8个集群。轮廓图有助于我们确定最佳选择。

7具有最高的轮廓宽度。但是5更简单,我们选择k = 5

解释

每个集群的摘要

在这里,可以尝试为集群内的客户派生一些常见模式。例如,集群1由"管理x三级x无违约x无住房"客户组成,集群2由"蓝领x二级x无违约x住房"客户等组成。

较低维度空间中的可视化

尽管不是很完美(尤其是集群3),但颜色大多位于相似区域,这证实了划分的相关性。

结论

本文回顾了作者在尝试对混合类型无监督数据集执行聚类算法时的想法。作者认为它可以为其他数据科学家带来一些有意思的想法,从而实现共享。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31509949/viewspace-2158397/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31509949/viewspace-2158397/

一文读懂如何对混合型数据做聚类分析!相关推荐

  1. 推荐文章:机器学习:“一文读懂机器学习,大数据/自然语言处理/算法全有了...

    PS:文章主要转载自CSDN大神"黑夜路人"的文章:           http://blog.csdn.NET/heiyeshuwu/article/details/43483 ...

  2. 机器学习科普文章:“一文读懂机器学习,大数据/自然语言处理/算法全有了”

    PS:文章主要转载自CSDN大神"黑夜路人"的文章:           http://blog.csdn.net/heiyeshuwu/article/details/43483 ...

  3. 一文读懂机器学习,大数据/自然语言处理/算法全有了…… (非常好)

    http://www.open-open.com/lib/view/open1420615208000.html 阅读文件夹 1.一个故事说明什么是机器学习 2.机器学习的定义 4.机器学习的方法 5 ...

  4. 一文读懂机器学习,大数据/自然语言处理/算法全有了

    转载至:http://www.cnblogs.com/subconscious/p/4107357.html 在本篇文章中,我将对机器学习做个概要的介绍.本文的目的是能让即便完全不了解机器学习的人也能 ...

  5. [转载] 机器学习科普文章:“一文读懂机器学习,大数据/自然语言处理/算法全有了”

    PS:文章主要转载自CSDN大神"黑夜路人"的文章:           http://blog.csdn.net/heiyeshuwu/article/details/43483 ...

  6. [转]机器学习科普文章:“一文读懂机器学习,大数据/自然语言处理/算法全有了”

    在本篇文章中,我将对机器学习做个概要的介绍.本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实 践.这篇文档也算是EasyPR开发的番外篇,从这里开始,必须对机器学习了解才能 ...

  7. 一文读懂云计算、大数据和人工智能间的关系和区别

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 今天跟大家讲讲云计算.大数据和人工智能.为什么讲这三个东西呢?因为这三个东西现在非常火,并且它们之间好像互相有关系 ...

  8. 一文读懂机器学习,大数据/自然语言处理/算法全有了……

    作者:计算机的潜意识 查看全文 http://www.taodudu.cc/news/show-3015140.html 相关文章: 小草说----大数据和机器学习为什么这样火 大数据学习入门规划?和 ...

  9. 一文读懂「用户行为数据」的采集、分析和应用

    越来越多的企业已开始挖掘用户行为数据的商业价值,利用行为数据进行精准有效的数字营销.以科技金融行业为例,某知名企业的数据表明:用户行为数据的效力是金融数据的4倍. 一.企业的数据来源  企业收集.存储 ...

最新文章

  1. Transferring GANs: generating images from limited data 论文学习
  2. 八篇 NeurIPS 2019 最新图神经网络相关论文
  3. 深入分析 Java 中的中文编码问题--转
  4. (转)工作了一个星期各位一定累了吧,那我们一起来表单验证一番吧!
  5. Java中读取属性文件以及做资源国际化
  6. [android] 手机卫士手机定位的原理
  7. 利用电脑上自带指纹识别嵌入程序中_Win 10 隐藏功能:不用任何软件就可实现手机投屏到电脑...
  8. github上传时出现error: src refspec master does not match any解决办法
  9. leetcode—13.链表基本操作类题目python解答
  10. 在框架中用JS设置target(用于location.href)
  11. 冒泡排序图解及代码实现
  12. Android之常见UI控件
  13. 计算机时区找不到北京,电脑时区里为何没有标准北京时间
  14. 若依框架内自带的excel导入导出功能
  15. easycode配置问题
  16. SQL 语句中 where 条件后 写上 1=1 是什么意思!
  17. mysql 5.7.21 winx64_mysql5.7.21 winx64安装配置图文分享
  18. 百度竞价推广的十大误区
  19. 解决客户端 query did not return aunique result:2
  20. java jdk8 使用stream实现两个list集合合并成一个list集合(对象属性的合并)

热门文章

  1. 降权对店铺宝贝的影响 以及降权后的维护方案
  2. python 最小外接矩形笔记
  3. c语言编写法国国旗,你对法国国旗知多少?
  4. HTML5+CSS3实战(二)——照片墙效果
  5. K8S POD无限重启问题
  6. CUMT学习日记——Verilog课程学习全记录
  7. 手机汉字输入法欲立国家标准
  8. 【OpenGL】十八、OpenGL 绘制多边形 ( 绘制 GL_POLYGON 模式多边形 )
  9. 断食法法定分啊发顺丰啊
  10. 不吃早餐/自噬效应/断食