数据挖掘十大经典算法之——K-Means 算法
数据挖掘十大经典算法系列,点击链接直接跳转:
- 数据挖掘简介及十大经典算法(大纲索引)
- 1. 数据挖掘十大经典算法之——C4.5 算法
- 2. 数据挖掘十大经典算法之——K-Means 算法
- 3. 数据挖掘十大经典算法之——SVM 算法
- 4. 数据挖掘十大经典算法之——Apriori 算法
- 5. 数据挖掘十大经典算法之——EM 算法
- 6. 数据挖掘十大经典算法之——PageRank 算法
- 7 数据挖掘十大经典算法之——AdaBoost 算法
- 8. 数据挖掘十大经典算法之——KNN 算法
- 9. 数据挖掘十大经典算法之——Naive Bayes 算法
- 10. 数据挖掘十大经典算法之——CART 算法
简介
K-Means是一个简单的聚类算法,把n 的对象根据他们的属性分为k 个分割,k < n。算法的核心就是要优化失真函数J,使其收敛到局部最小值但不是全局最小值。
,其中N 为样本数,K 是簇数,rnk b 表示n 属于第k 个簇,uk 是第k 个中心点的值。然后求出最优的uk
优点:算法速度很快。
缺点是,分组的数目k 是一个输入参数,不合适的k 可能返回较差的结果。
原理
步骤
特性
案例
代码
python半监督K均值代码:
代码来源:https://blog.csdn.net/tyh70537/article/details/80483654
# -*- coding: utf-8 -*-
import numpy as npdef distEclud(vecA, vecB):'''输入:向量A和B输出:A和B间的欧式距离'''return np.sqrt(sum(np.power(vecA - vecB, 2)))def newCent(L):'''输入:有标签数据集L输出:根据L确定初始聚类中心'''centroids = []label_list = np.unique(L[:,-1])for i in label_list:L_i = L[(L[:,-1])==i]cent_i = np.mean(L_i,0)centroids.append(cent_i[:-1])return np.array(centroids) def semi_kMeans(L, U, distMeas=distEclud, initial_centriod=newCent):'''输入:有标签数据集L(最后一列为类别标签)、无标签数据集U(无类别标签)输出:聚类结果'''dataSet = np.vstack((L[:,:-1],U))#合并L和Ulabel_list = np.unique(L[:,-1])k = len(label_list) #L中类别个数m = np.shape(dataSet)[0]clusterAssment = np.zeros(m)#初始化样本的分配 centroids = initial_centriod(L)#确定初始聚类中心clusterChanged = Truewhile clusterChanged:clusterChanged = Falsefor i in range(m):#将每个样本分配给最近的聚类中心minDist = np.inf; minIndex = -1for j in range(k):distJI = distMeas(centroids[j,:],dataSet[i,:])if distJI < minDist:minDist = distJI; minIndex = jif clusterAssment[i] != minIndex: clusterChanged = TrueclusterAssment[i] = minIndexreturn clusterAssment
学术
应用
参考资料
数据挖掘十大经典算法之——K-Means 算法相关推荐
- 数据挖掘十大经典算法之——KNN 算法
数据挖掘十大经典算法系列,点击链接直接跳转: 数据挖掘简介及十大经典算法(大纲索引) 1. 数据挖掘十大经典算法之--C4.5 算法 2. 数据挖掘十大经典算法之--K-Means 算法 3. 数据挖 ...
- 数据挖掘十大经典算法(转载)
数据挖掘十大经典算法 一.C4.5 C4.5,是机器学习算法中的一个分类决策树算法,它是决策树(决策树也就是做决策的节点间的组织方式像一棵树,其实是一个倒树)核心算法ID3的改进算法,所以基 ...
- 数据挖掘十大经典算法(详解)
数据挖掘十大经典算法 一. C4.5 C4.5算法是机器学习算法中的一种分类决策树算法 ...
- 数据挖掘十大经典算法笔记
主要总结一下数据挖掘十大经典算法,包括各自优缺点, 适用数据场景,做个小笔记,分享一下 数据挖掘主要分为分类算法,聚类算法和关联规则三大类,这三类基本上涵盖了目前商业市场对算法的所有需求.而这三类里又 ...
- 数据挖掘十大经典算法个人总结
数据挖掘十大经典算法个人总结 这两年对数据挖掘相关知识研究运用的已经很多了,最近看了关于数据挖掘十大经典算法的文章.想对其进行一个总结,强化下自己对这些算法的理解. 1. C4.5 C4.5 是基于I ...
- [转]数据挖掘十大经典算法
国际权威的学术组织the IEEE International Conference on Data Mining (ICDM) 2006年12月评选出了数据挖掘领域的十大经典算法:C4.5, k-M ...
- DataMining学习2_数据挖掘十大经典算法
数据挖掘十大经典算法 一. C4.5 C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3 算法. C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进: ...
- 数据挖掘十大经典算法之apriori算法源代码
数据挖掘十大经典算法 国际权威的学术组织the IEEE International Conference on Data Mining (ICDM) 2006年12月评选出了数据挖掘领域的十大经典算 ...
- 数据挖掘十大经典算法之——EM 算法
数据挖掘十大经典算法系列,点击链接直接跳转: 数据挖掘简介及十大经典算法(大纲索引) 1. 数据挖掘十大经典算法之--C4.5 算法 2. 数据挖掘十大经典算法之--K-Means 算法 3. 数据挖 ...
最新文章
- android 生成签名命令
- JDK5.0新特性系列---11.4线程 Condition
- Apache2+PHP5不能加载Zend Optimizer的问题
- C# ref与out区别
- JavaScript内存管理
- redis+mysql几种用法
- echarts改变图例位置
- react-native 异常处理 Execution failed for task ':app:mergeDebugResources'.
- 一个光标绘制问题的解决过程
- 传祺 GS4 和博越 PRO 不知道选谁?体验后的最真实的评价
- 个人主页,引导页,导航网站源码三分钟下载安装【美观大气】
- 全志A64 Android6.0编译
- 什么是IPv6,IPv6有什么优势
- 作为一个Java初学者,怎样从一个新手快速入门?
- java文件服务,苹果相关浏览器文件名乱码而其他例如谷歌浏览器不乱码
- python-pygame作品之MineCraft小鸡
- 传说中的Linux三剑客命令之grep(三剑客老幺)别人只知道了而我却做到了
- 2021-08-25 Android studio 编译提示Version 28 (intended for Android Pie and below) is the last version of
- 数据中台怎么选型?终于有人讲明白了
- 性能测试工具loucst使用(最新版本)
热门文章
- ctb伺服驱动器说明书_青岛FANUC伺服电机364、453故障维修
- pandas把索引变成列
- C++中的final关键字
- C++中成员函数和成员变量的隶属问题
- android开发岗_android应用开发
- file 选择的文件胖多有多大_「HTML5 进阶」FileAPI 文件操作实战,内附详细案例,建议收藏...
- 原生编辑器_免费开源的GIF制作神器,可录屏幕/摄像头/画板,自带编辑器
- java list类型参数_java – List是一个原始类型.引用通用类型List应该参数化
- python 栈道实现
- Leetcode 198.打家劫舍 (每日一题 20210622)