【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)

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能LeadAI

TensorFlow和Keras解决大数据量内存溢出问题

以前做的练手小项目导致新手产生一个惯性思维——读取训练集图片的时候把所有图读到内存中,然后分批训练。

3934
来自专栏企鹅号快讯

机器学习——SVM实战

机器学习(十八) ——SVM实战 (原创内容,转载请注明来源,谢谢) 一、概述 本篇主要用python来实现SVM算法,并用SVM算法进行预测分类结果。对于SM...

2208
来自专栏北京马哥教育

python实现拼写检查器21行轻松搞定

引入 大家在使用谷歌或者百度搜索时,输入搜索内容时,谷歌总是能提供非常好的拼写检查,比如你输入 speling,谷歌会马上返回 spelling。 下面是用...

3584
来自专栏Python专栏

Python | 21行轻松搞定拼写检查器

链接:http://blog.csdn.net/Pwiling/article/details/50573650

2043
来自专栏月色的自留地

《连连看》算法c语言演示(自动连连看)

3229
来自专栏SimpleAI

【DL笔记9】搭建CNN哪家强?TensorFlow,Keras谁在行?

从【DL笔记1】到【DL笔记N】,是我学习深度学习一路上的点点滴滴的记录,是从Coursera网课、各大博客、论文的学习以及自己的实践中总结而来。从基本的概念、...

2962
来自专栏码云1024

编程英语之KNN算法

1294
来自专栏Leetcode名企之路

【Leetcode】63. 不同路径 II

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图...

2672
来自专栏AI研习社

如何在 Keras 中从零开始开发一个神经机器翻译系统?

机器翻译是一项具有挑战性的任务,包含一些使用高度复杂的语言知识开发的大型统计模型。 神经机器翻译的工作原理是——利用深层神经网络来解决机器翻译问题。 在本教程...

37312
来自专栏祥子的故事

tensorflow | 重新学习 | 了解graph 和 Session

3708

扫码关注云+社区

领取腾讯云代金券