k-means算法原理及实战
全文共684个字,1张图,预计阅读时间6分钟。
K-means原理
K-means算法是输入聚类个数k,以及包含 n个数据对象的数据库,输出满足方差最小标准k个聚类的一种算法。
基本流程:
步骤1:
从n个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的
(聚类中心所代表的)聚类;步骤2:
再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);步骤3:
不断重复这一过程直到标准测度函数开始收敛为止。
一般都采用均方差作为标准测度函数. k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。
算法的时间复杂度上界为O(n*k*t), 其中t是迭代次数。
k-means算法是一种基于样本间相似性度量的间接聚类方法,属于非监督学习方法。此算法以k为参数,把n 个对象分为k个簇,以使簇内具有较高的相似度,而且簇间的相似度较低。
我们使用sklearn库来实现k-means。
if mini_batch:k_means=MiniBatchKMeans(n_clusters=true_k,init='k-means++',n_init=1, init_size=1000,batch_size=1000,verbose=False)else:k_means=KMeans(n_clusters=true_k,init='k-means++',max_iter=300,n_init=1, verbose=False)
中心点的个数从3到80对应的误差值的曲线
10个簇的数据集的个数
Cluster distribution:{3: 133, 9: 93, 1: 131, 4: 497, 5: 328, 6: 263, 8: 78, 2: 46, 0: 164, 7: 67}
10个类的tfidf标签结果
Top terms per cluster:Cluster 0 工作 人类 时间 学习 事情 员工 研究 生活 团队 能力Cluster 1 区块 货币 比特 加密 星球 数字 交易所 交易 项目 技术Cluster 2 公寓 房租 长租 租金 租赁 租房 房源 上涨 北京 资本Cluster 3 手机 苹果 三星 小米 华为 科技 智能手机 厂商 发布 推出Cluster 4 中国 特斯拉 电影 美国 明星 马斯克 谷歌 科技 产品 攻略Cluster 5 融资 投资 企业 中国 教育 服务 平台 行业 产品 亿美元Cluster 6 用户 品牌 平台 内容 产品 视频 电商 社交 程序 消费Cluster 7 城市 房价 上海 房地产 房子 北京 上涨 经济 一线 数据Cluster 8 汽车 驾驶 自动 特斯拉 生产 技术 中国 未来 亿美元 苹果Cluster 9 腾讯 游戏 用户 玩家 中国 内容 娱乐 视频 平台 世界
评分
0.8191335472911944
说明
代码大部分来自这篇文章:K-means算法及文本聚类实践,只是没有数据集,然后自己手撕写了个36kr文章的爬虫的程序。φ(>ω<*)
代码地址上传到github:text-cluster
相关文章
K-MEANS算法_百度百科
K-means算法及文本聚类实践 - CodeMeals - 博客园
【文本聚类】用k-means对文本进行聚类 - CSDN博客
K-means算法及文本聚类实践 - CSDN博客
原文链接:https://www.jianshu.com/p/af413a9d2b4a
查阅更为简洁方便的分类文章以及最新的课程、产品信息,请移步至全新呈现的“LeadAI学院官网”:
www.leadai.org
请关注人工智能LeadAI公众号,查看更多专业文章
大家都在看
LSTM模型在问答系统中的应用
基于TensorFlow的神经网络解决用户流失概览问题
最全常见算法工程师面试题目整理(一)
最全常见算法工程师面试题目整理(二)
TensorFlow从1到2 | 第三章 深度学习革命的开端:卷积神经网络
装饰器 | Python高级编程
今天不如来复习下Python基础
k-means算法原理及实战相关推荐
- kmeans改进 matlab,基于距离函数的改进k―means 算法
摘要:聚类算法在自然科学和和社会科学中都有很普遍的应用,而K-means算法是聚类算法中经典的划分方法之一.但如果数据集内相邻的簇之间离散度相差较大,或者是属性分布区间相差较大,则算法的聚类效果十分有 ...
- 统计学习方法笔记(一)-k近邻算法原理及python实现
k近邻法 k近邻算法 算法原理 距离度量 距离度量python实现 k近邻算法实现 案例地址 k近邻算法 kkk近邻法(kkk-NN)是一种基本分类和回归方法. 算法原理 输入:训练集 T={(x1, ...
- k均值算法原理详细讲解以及matlab代码实现
有研究生物电信号处理和机器学习的欢迎加我qq429500506共同交流学习进步. 最近更新文章的频率太低了,主要原因是不想为了发文章而发文章,想潜心研究,写好文章,顺便想说一句开源万岁,最近一个月虽然 ...
- k近邻算法原理c语言,实验二 K-近邻算法及应用
作业信息 一.[实验目的] 理解K-近邻算法原理,能实现算法K近邻算法: 掌握常见的距离度量方法: 掌握K近邻树实现算法: 针对特定应用场景及数据,能应用K近邻解决实际问题. 二.[实验内容] 实现曼 ...
- 【MATLAB】Parzen窗与K近邻算法原理与代码详解
文章目录 1.非参数估计原理 2.Parzen窗 2.1.算法原理 2.2.Matlab实现与参数探究 3.K近邻 3.1.算法原理 3.2.Matlab实现与参数探究 1.非参数估计原理 \qqua ...
- 机器学习之K近邻算法原理+应用实例
1. 基本原理 K最近邻(K-Nearest Neighbor,KNN)分类算法是最简单的机器学习算法之一,其基本思路与"近朱者赤,近墨者黑"的原理类似,当对未分类样本进行分类时, ...
- k means算法C语言伪代码,K均值算法(K-Means)
1. K-Means算法步骤 算法步骤 收敛性定义,畸变函数(distortion function): 伪代码: 1) 创建k个点作为K个簇的起始质心(经常随机选择) 2) 当任意一个点的蔟分配结果 ...
- 机器学习-聚类之K均值(K-means)算法原理及实战
K-means算法 前言 机器学习方法主要分为监督学习和非监督学习两种.监督学习方法是在样本标签类别已知的情况下进行的,可以统计出各类样本的概率分布.特征空间分布区域等描述量,然后利用这些参数进行分类 ...
- 机器学习-降维之主成分分析PCA算法原理及实战
主成分分析 前言 近年来,随着互联网和信息行业的发展,数据已经渗透到各行各业,成为重要的生产因素如数据记录和属性规模的急剧增长.社会已经进入大数据时代,数据越多越好似乎已经成为公理.然而,数据量并不是 ...
- 机器学习-集成之AdaBoost算法原理及实战
Boosting和AdaBoost 简介 Bagging采用的是一种多个分类器简单评分的方式.而Boosting是和Bagging对应的一种将弱分类器组合成为强分类器的算法框架,它根据分类器学习误差率 ...
最新文章
- 影子系统、沙箱、虚拟机之间的区别
- 【bzoj4881】[Lydsy2017年5月月赛]线段游戏 树状数组+STL-set
- [已经完美解决]IE下 'document.getElementById(...)' is null
- ROW_NUMBER() OVER (PARTITION BY 字段1 ORDER BY 字段2 DESC)
- Open/Close Port in Centos
- cmd 调用webservice接口_c# 三种方法调用WebService接口
- 【Git学习笔记5】以普通模式合并(--no-ff)、push到远程库及分支管理策略
- (五)JS基础知识二(通过图理解原型和原型链)【三座大山之一,必考!!!】
- ubuntu20.04的xfce4下面安装百度输入法linux版本
- Git初学札记(六)————在远程新建本地Branch与在本地新建远程Branch
- 算法题10 最长等差序列问题
- 3D打印革命性升级!只要光照几十秒,完美雕像浮出水面丨Science
- php内li背景色,CSS_css中ul li的背景小图标属性设置的两种情况,这里我们分两种情况列出: ① - phpStudy...
- JDK1.8之ConcurrentHashMap
- turbo c 2.0 官方下载_iMyFone MintPDF英文版官方下载2.0.10
- fiddler运行原理_fiddler工作原理
- SCI投稿记录篇——PRE投稿必须知道的论文格式和流程
- 解决a start job is running for dev-disk-by启动错误
- 干货!我被面试官绝地反杀了,附详细答案
- 【职业人的自我修炼十项原则】