Python笔记11------一个K-means聚类的小例子
#导入scipy库,库中已经有实现的kmeans模块,直接使用,
#根据六个人的分数分为学霸或者学渣两类
import numpy as np
from scipy.cluster.vq import vq,kmeans,whiten
list1=[88,64,96,85]
list2=[92,99,95,94]
list3=[91,87,99,95]
list4=[78,99,97,81]
list5=[88,78,98,84]
list6=[100,95,100,92]
#将数据组成数组
data=np.array([list1,list2,list3,list4,list5,list6])
#数据归一化处理
whiten=whiten(data)
#使用kmeans聚类,第一个参数为数据,第二个参数是k类,得到的结果是二维的,所以加一个下划线表示不取第二个值,第一个值为得到的聚类中心,第二个值为损失
centroids,_=kmeans(whiten,2)
#使用vq函数根据聚类中心将数据进行分类,输出的结果为二维,第一个结果为分类的标签,第二个结果不需要。
result,_=vq(whiten,centroids)
print(result)
输出结果:
[0 1 1 0 0 1]
根据数据可以看出0为学渣,1为学霸。
6个人中,1、4、5为学渣,2,3,6为学霸。
以上为使用Scipy中kmeans来求解的。
sklearn
import numpy as np
from sklearn.cluster import KMeans
list1=[88,64,96,85]
list2=[92,99,95,94]
list3=[91,87,99,95]
list4=[78,99,97,81]
list5=[88,78,98,84]
list6=[100,95,100,92]
#将数据组成数组
data=np.array([list1,list2,list3,list4,list5,list6])
#采用fit函数和predict函数
kmeans=KMeans(n_clusters=2).fit(data)
pred=kmeans.predict(data)
print(pred)
Python笔记11------一个K-means聚类的小例子的更多相关文章
- Python笔记 #11# 统计图定制化
将数据可视化有许多选择: 图的类型 定制化方式 选择什么样的表现方式通常取决于: 数据 你想表达什么 1.Labels # Basic scatter plot, log scale plt.scat ...
- python笔记-11 rabbitmq
一.理解rabbitmq的基本背景 1.理解消息队列 1.1 普通queue 在前面的博客中所提到的队列,此处均称之为普通队列 简述一下普通队列的一些分类及不足 1.1.1 基本Queue:queue ...
- python笔记3----第一个小爬虫
1.先看看要爬的网站有没有爬虫协议,可以看该网站有没有robots.txt,如豆瓣的: 2.requests模块:[requests是第三方,代码比python自带的urllib模块简单] 先加载re ...
- python笔记11
今日内容 函数小高级 lambda 表达式 内置函数 内容回顾 函数基本结构 参数 形参 基本参数:def func(a1,a2):pass 默认值:def func(a1,a2=123):pass ...
- selenium+python笔记11
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: search in mail box "&qu ...
- 用Python快速实现一个垃圾分类APP|附带微信小程序
最近北京开始实行垃圾分类,导致大家对垃圾的研究热度突然涨高,垃圾们也纷纷表示从来没有获得过这么高的关注度.其实,上海市去年已经开始实行,网上已经有不少成熟的教程了,像什么<垃圾分类从入门到精通& ...
- Oracle学习笔记:一个简单的行转列例子
一个简单的行列转换例子,原始数据. create table temp_cwh_student ( name ), subject ), score ) ) select * from temp_cw ...
- 机器学习算法与Python实践之(五)k均值聚类(k-means)
机器学习算法与Python实践这个系列主要是参考<机器学习实战>这本书.因为自己想学习Python,然后也想对一些机器学习算法加深下了解,所以就想通过Python来实现几个比较常用的机器学 ...
- 机器学习算法与Python实践之(六)二分k均值聚类
http://blog.csdn.net/zouxy09/article/details/17590137 机器学习算法与Python实践之(六)二分k均值聚类 zouxy09@qq.com http ...
随机推荐
- Maven学习总结(26)——maven update时,报:Preference node "org.eclipse.wst.validation"...
详细情况如下: An internal error occurred during: "Updating Maven Project". Preference node " ...
- 关于约束ENABLE NOVALIDATE的一个疑问
http://www.dbunix.com/?p=188 关于约束ENABLE NOVALIDATE的一个疑问 CREATE TABLE test (id varchar2(12), name var ...
- LightOJ - 1231 - Coin Change (I)
先上题目: 1231 - Coin Change (I) PDF (English) Statistics Forum Time Limit: 1 second(s) Memory Limit: ...
- Django(七)
一.ModelForm操作及验证 1.class Meta:class Meta: #注意以下字段不能加逗号 model = models.UserInfo #这里的all代指所用的字段,也可以是一个 ...
- HDU 3537
翻硬币游戏,纯.. 注意要判重 #include <iostream> #include <cstdio> #include <cstring> #include ...
- AIX下sort命令简介及使用
AIX下sort命令简介及使用 sort -rn +3 , r倒排序,n按照数字排序: +3按照第四列排序: 第一列是+0: 学习:http://blog.csdn.net/chen_linbo/a ...
- iOS 隐藏NavigationBar的方法
使用下面方法: - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self.navigationCon ...
- Linux命令(十)——Shell程序设计一(变量与操作符)
Shell是linux系统中用户和系统交互的接口,它除了作为命令解释器以外,还是一种高级程序设计语言.在前面介绍的linux命令中,Shell都作为命令解释器出现.下面分两节简单介绍脚本程序设计中的语 ...
- SUSE glibc升级为2.18过程记录
先验知识:1.运行时,动态库的装载依赖于ld-linux.so.6的实现,它查找共享库的顺序如下:(1)ld-linux.so.6在可执行的目标文件中被指定,可用readelf命令查看(2)ld-li ...
- findContours 轮廓查找
物体的轮廓勾勒出了物体的整体形状,物体形状的边界像素一起组合成了轮廓. 灰度图像边界的明显特征是边界两侧灰度级的突变,根据这个特征,使用Sobel.拉普拉斯或Canny之类的边缘检测算子可以有效的检测 ...