2016-02-1-kmeans

2016-02-18  本文已影响0人  大雪封山十几年

layout: post
title: 数据挖掘经典算法之k-means
date: 2016-2-1
categories: blog
tags: [数据分析算法]
description: 数据挖掘经典算法之k-means。


数据掘经典算法 k-means

常见定义

聚类:

按照事物间的相似性进行区分和分类的过程,是无监督的分类(没有预定义的类编号)。
数据挖掘常用的方法有分类、回归分析、聚类、关联规则、神经网络方法、Web 数据挖掘等。
k-means属于聚类算法中经典的一种。
聚类的典型应用就是,在顾客群中寻找有共同个性的顾客。类似购买相机后会立刻购买同品牌的胶卷。
功能:

k-means:

K-means算法是硬聚类算法,是典型的基于原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则。K-means算法以欧式距离作为相似度测度,它是求对应某一初始聚类中心向量V最优分类,使得评价指标J最小。算法采用误差平方和准则函数作为聚类准则函数.

过程分析

基于划分的聚类算法:

简单k-means算法

  1. 任意选择k个数据对象作为初始的聚类中心;
  2. 对以下过程进行迭代:
    (a)计算数据集中其余各数据对象到这些聚类中心的距离,然后按照距离最近的原则,把各数据对象分到相应的类中;
    (b)计算各个聚类新的重心,即求新形成的类中所有数据对象的平均值
  3. 重复过程(a)、(b),直到目标函数(标准方差的和)不再发生变化。

k-means聚类过程:

选取作为初始聚类中心的对象不用时,会对聚类结果产生很大的影响。

不同初始中心的结果

初始点的选取

因为初始点的选取会对结果产生极大影响,所以通常在k-means使用以前会有一个初始点选取的算法作为预处理。这里暂且不展开讨论。

对随机数据进行模拟聚类

  1. 随机生成一组数据存入表中作为待处理数据
  2. 去出待处理数据进行聚类
  3. 算法运行完成后将结果存入结果表中

Oracle中数据分析预处理常用脚本

!暂时未进行编辑

源程序

Github-k-means-Oracle-sqlplus

流程图

表结构



运行结果

上一篇下一篇

猜你喜欢

热点阅读