数据挖掘实践-第一个简单案例-地图着色数据自动分级

通过公司培训机会了解到SPSS Modeler这个工具,可以方便地实现数据挖掘算法。故今后将数据挖掘领域的学习与实践做一记录。

案例目标###

  • 假设要将一个数据集投射在地图上,希望分成5级色阶:红、橙、黄、绿、蓝。红色表示数值高、蓝色表示数值低。那么怎样划分色阶等级最合理?
  • 目前常见的简单做法有:1. 等数量分级;2. 等数值分级。以1000个记录为例,前者按照排序后每200个记录为一级,后者是按最大值和最小值的差值等分5级。在某些数据分布时,两种方法都有不妥之处:前者容易导致分级边界不合理(相近的数据被分到两级),后者容易导致分级大小不均衡(个别等级只有极少数数据)。
  • 那么是否存在一种规则,可以评价分级方法的合理性。并建立一种基于数据集实现自动分级的方法?

案例实践###

  • 第一个问题比较玄奥,无论是抽象的规则(基于数学语言)还是具象的解释(基于主观感知),暂时很难建立一个判别标准。
  • 一个比较容易想到的描述是“假设一种划分方案,使得5个分级总的均方误差最小”,这个看似相当合理,但是目前无法证明其是否最合理。
  • 而按照上述“描述”,容易想到这很类似K-means聚类方法,而且是只有单个输入变量的简单聚类。
  • 获得聚类结果后,找出各聚类的上下极值,就可以确定分级边界了。
  1. 选用一个移动小区的流量统计数据。这类数据一般都符合长尾分布。

  2. 使用Modeler中的默认设置,得到K-means聚类结果

  3. 等数量划分、等数值划分、聚类划分三种结果的比较。其中自己杜撰了几个指标
    所以聚类得到的类的大小是不太均匀的,但是肯定好于等数值划分。

  • 试着对比一下等数量划分,等数值划分,de和聚类划分的均方差。

  • 结论:聚类划分的分级记录数均衡度优于等值划分,分级尺寸均衡度优于等数量划分,整体的标准差最佳

后续思考###

  • 聚类得到的分级边界一般不是整数,不符合习惯。优化方法是可以增加限制条件,迭代时以某整数段作归属判断。
  • 在考虑代码实现时又想到,未必要对原始数据集进行kmeans聚类运算。可以先按设想的整数段分组,再对组进行聚类。当然计算距离的公式要重定义,要经组大小来加权。

首次发布:2014.07.22

posted @ 2014-07-19 15:40  公爵  阅读(1447)  评论(0编辑  收藏  举报