专栏首页数据科学与人工智能【Python环境】无监督学习之KMeans

【Python环境】无监督学习之KMeans

k-means,这一种算法是非监督模型,也就是说一开始我可以不用告诉它类别,让他们自己去分类。那么怎么去分类呢?假设我们首先将它映射到欧式空间

可以直观的看出来,图中把点分成了三类。然后我们做出这样一种假设:每一类有一个中心点,这一类的绝大部分点到中心点的距离应该是小于到其他类中心点的距离的。之所以说绝大部分是因为考虑到点的特例,我们不能因为单独的几个点而否定之前的大部分。基于这一个思想我们可以确定所要优化的目标函数,我们假设分类N个数据到K个类别,则有:

其中的rnk意味着归类到k时为1,剩下为0.剩下的具体如何优化这里不在详细说了。

代码实现如下:

  1. from sklearn import datasets
  2. iris = datasets.load_iris()
  3. X = iris.data
  4. y = iris.target
  5. clf=KMeans(n_clusters=3)
  6. model=clf.fit(X)
  7. predicted=model.predict(X)

这里调用了聚类器KMeans,因为已知三类我们让其中的clusters中心点为3就可以了。KMeans的参数除了聚类个数之外还有max_iter,n_init,init,precompute_distances等。具体的参数含义解释如下网址:

http://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html#sklearn.cluster.KMeans

本文分享自微信公众号 - 数据科学与人工智能(DS_AI_shujuren)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-11-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【算法】GBDT算法

    小编邀请您,先思考: 1 GBDT算法的原理是什么? 2 GBDT算法如何做正则化处理? 本文对Boosting家族中另一个重要的算法梯度提升树(Gradien...

    陆勤_数据人网
  • 【原理】机器学习欠拟合与过拟合

    小编邀请您,先思考: 1 什么是欠拟合? 2 什么是过拟合? 在数据科学学科中, 过度拟合(overfit)模型被解释为一个从训练集(training set)...

    陆勤_数据人网
  • 【Python环境】监督学习之KNN算法

    1、ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置...

    陆勤_数据人网
  • nodejs与nginx的完美搭配

    node自己本身可以作为服务器进行驱动,但是node本身对文件的处理能力并不是很好,所以当我们的生产环境中应尽量使用nginx来处理静态的资源以及反向代理,同时...

    用户1065635
  • Google Play Store启动漏洞赏金计划保护Android应用

    ? Google终于发布了Google Play Store的漏洞赏金计划,安全人员可以寻找或者报告Android应用中存在的漏洞。 这个项目的名称为 “Go...

    FB客服
  • MogileFS基于Nginx反向代理实现分布式存储与访问

    前言 随着信息社会的发展,越来越多的信息被数据化,尤其是伴随着大数据时代的来临,数据呈爆炸式增长。传统存储在面对海量数据存储表现出的力不从心已经是不争的事实...

    小小科
  • CentOS 7下安装Logstash ELK Stack 日志管理系统(上)

    介绍 ? The Elastic Stack - 它不是一个软件,而是Elasticsearch,Logstash,Kibana 开源软件的集合,对外是作为一个...

    小小科
  • docker学习8-搭建nginx环境

    先启动容器: docker run -d --name nginx-tmp nginx

    上海-悠悠
  • 十分钟学技术系列 | Nginx从入门到上线

    前言 由于微信小程序要使用Https,但是又不能修改已有线上的配置。所以最简单的方法就是使用nginx转发,在nginx上使用https,然后再转发到内部服务器...

    小小科
  • 初学TensorFlow机器学习:如何实现线性回归?(附练习题)

    选自Technica Curiosa 作者:Nishant Shukla 机器之心编译 参与:Jane W 本文的作者 Nishant Shukla 为加州大学...

    机器之心

扫码关注云+社区

领取腾讯云代金券