【聚类之K-Means】K-Means学习实例
数据介绍:现有1999年全国31个省份城镇居民家庭平均每人全年消费性支出的八个主要变量数据,这八个变量分别是:食品、衣着、家庭设备用品及服务、医疗保健、交通和通讯、娱乐教育文化服务、居住以及杂项商品和服务。利用已有数据,对31个省份进行聚类。
import numpy as np
from sklearn.cluster import KMeansdef loadData(filePath):fr = open(filePath, 'r+') #读写打开一个文本文件lines = fr.readlines() #一次读取整个文件(类似于.read())retData = [] #用来存储城市的各项消费信息retCityName = [] #用来存储城市名称for line in lines:items = line.strip().split(",")retCityName.append(items[0])retData.append([float(items[i]) for i in range(1, len(items))])return retData, retCityName #返回值:返回城市名称,以及该城市的各项消费信息if __name__ == '__main__':data, cityName = loadData('31省市居民家庭消费水平-city.txt') #利用loadData方法读取数据# print(data)# print(cityName)km = KMeans(n_clusters=4,init='k-means++',max_iter=300) #创建实例label = km.fit_predict(data) #调用Kmeans()fit_predict()方法计算簇中心以及为簇分配序号)进行计算,获得各数据所属的标签# print(label)# print(type(label))# print(km.cluster_centers_)expenses = np.sum(km.cluster_centers_, axis=1) #聚类中心点的数值相加,也就是平均消费水平# print(expenses)# print(type(expenses))CityCluster = [[], [], [],[]] #将城市按label分成设定的簇for i in range(len(cityName)):CityCluster[label[i]].append(cityName[i]) #将每个簇的城市添加到CityClusterfor i in range(len(CityCluster)):print("Expenses:%.2f" % expenses[i]) #将每个簇的平均花费输出,expense:聚类中心点的数值加和,也就是平均消费水平print(CityCluster[i])
附上数据文件(31省市居民家庭消费水平-city.txt):
北京,2959.19,730.79,749.41,513.34,467.87,1141.82,478.42,457.64
天津,2459.77,495.47,697.33,302.87,284.19,735.97,570.84,305.08
河北,1495.63,515.90,362.37,285.32,272.95,540.58,364.91,188.63
山西,1406.33,477.77,290.15,208.57,201.50,414.72,281.84,212.10
内蒙古,1303.97,524.29,254.83,192.17,249.81,463.09,287.87,192.96
辽宁,1730.84,553.90,246.91,279.81,239.18,445.20,330.24,163.86
吉林,1561.86,492.42,200.49,218.36,220.69,459.62,360.48,147.76
黑龙江,1410.11,510.71,211.88,277.11,224.65,376.82,317.61,152.85
上海,3712.31,550.74,893.37,346.93,527.00,1034.98,720.33,462.03
江苏,2207.58,449.37,572.40,211.92,302.09,585.23,429.77,252.54
浙江,2629.16,557.32,689.73,435.69,514.66,795.87,575.76,323.36
安徽,1844.78,430.29,271.28,126.33,250.56,513.18,314.00,151.39
福建,2709.46,428.11,334.12,160.77,405.14,461.67,535.13,232.29
江西,1563.78,303.65,233.81,107.90,209.70,393.99,509.39,160.12
山东,1675.75,613.32,550.71,219.79,272.59,599.43,371.62,211.84
河南,1427.65,431.79,288.55,208.14,217.00,337.76,421.31,165.32
湖南,1942.23,512.27,401.39,206.06,321.29,697.22,492.60,226.45
湖北,1783.43,511.88,282.84,201.01,237.60,617.74,523.52,182.52
广东,3055.17,353.23,564.56,356.27,811.88,873.06,1082.82,420.81
广西,2033.87,300.82,338.65,157.78,329.06,621.74,587.02,218.27
海南,2057.86,186.44,202.72,171.79,329.65,477.17,312.93,279.19
重庆,2303.29,589.99,516.21,236.55,403.92,730.05,438.41,225.80
四川,1974.28,507.76,344.79,203.21,240.24,575.10,430.36,223.46
贵州,1673.82,437.75,461.61,153.32,254.66,445.59,346.11,191.48
云南,2194.25,537.01,369.07,249.54,290.84,561.91,407.70,330.95
西藏,2646.61,839.70,204.44,209.11,379.30,371.04,269.59,389.33
陕西,1472.95,390.89,447.95,259.51,230.61,490.90,469.10,191.34
甘肃,1525.57,472.98,328.90,219.86,206.65,449.69,249.66,228.19
青海,1654.69,437.77,258.78,303.00,244.93,479.53,288.56,236.51
宁夏,1375.46,480.89,273.84,317.32,251.08,424.75,228.73,195.93
新疆,1608.82,536.05,432.46,235.82,250.28,541.30,344.85,214.40
【聚类之K-Means】K-Means学习实例相关推荐
- k均值聚类算法考试例题_k means聚类算法实例
所谓聚类问题,就是给定一个元素集合D,其中每个元素具有n个可观察属性,使用某种算法将D划分成k个子集,要求每个子集内部的元素之间相异度尽可能低,而不同子集的元素相异度尽可能高.其中每个子集叫做一个簇. ...
- 聚类和EM算法——K均值聚类
20211116 数据分析 | 聚类分析--kmean kmeans最优k值的确定方法-手肘法和轮廓系数法 - 简书 python大战机器学习--聚类和EM算法 注:本文中涉及到的公式一律省略(公式不 ...
- C语言学习之编程实现:输入长方形的两个边长a, b和一个整数k。k=1时,输出长方形的周长 l; k=2时 ,输出长方形的面积s;当k=3时 , 输出长方形的周长1和面积s
C语言学习 编程实现:输入长方形的两个边长a, b和一个整数k.k=1时,输出长方形的周长 l; k=2时 ,输出长方形的面积s;当k=3时 , 输出长方形的周长1和面积s #include < ...
- k线图知识学习途径多种多样
k线图知识是贵金属投资的基础知识,所以如果你对现货黄金白银投资感兴趣,就要先去了解白银K线图基础知识,日后才能更加深入地掌握一些有效的技术分析方法.在资讯高度发达的当下,k线图知识学习途径已有多种多样 ...
- C语言学习之求∑k(k=100)+∑K*k(k=50)+∑1/k(k=10)
求∑k(k=100)+∑K*k(k=50)+∑1/k(k=10) #include <stdio.h> #include <math.h> void main(){double ...
- 聚类 k-means、yellowbrick和信用卡用户实例 -- 023
微信公众号:python宝 关注可了解更多的python相关知识.若有问题或建议,请公众号留言; 内容目录 一.K-means.畸变程度(SSE).成本函数.内聚度.分离度.肘部法则和轮廓系数简介二. ...
- 深度学习之生成对抗网络(1)博弈学习实例
深度学习之生成对抗网络(1)博弈学习实例 博弈学习实例 在 生成对抗网络(Generative Adversarial Network,简称GAN)发明之前,变分自编码器被认为是理论完备,实现简单, ...
- PRML第九章读书笔记——Mixture Models and EM K均值/K中心点、高斯混合奇异性、EM观点下的高斯混合/K-means/混合伯努利分布/贝叶斯线性回归、推广EM算法
目录 9.1 K-means Clustering P429 K中心点算法K-medoids 9.2 Mixtures of Gaussians P433 高斯混合的奇异性 9.3 An Altern ...
- 涵盖 14 大主题!最完整的 Python 学习实例集来了!
机器学习.深度学习最简单的入门方式就是基于 Python 开始编程实战.最近闲逛 GitHub,发现了一个非常不错的 Python 学习实例集,完全是基于 Python 来实现包括 ML.DL 等领域 ...
- ajax请求返回json实例,Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
一.AjaxJson.aspx 处理业务数据,产生JSon数据,供JqueryRequest.aspx调用,代码如下: protected void Page_Load(object sender, ...
最新文章
- 作为导师,我希望学生在毕业后主动拉黑我
- SQL Server查看错误日志存档编号及其详情
- android this context,Android應用開發中關於this.context=context的理解
- Oracle 11g+Windows10 x64安装、配置过程记录
- 小数据福音!BERT在极小数据下带来显著提升的开源实现
- linux文件和目录管理指令,Linux 命令(文件和目录管理 - cat)
- Redis高可用方案-RedisCluster-SpringBoot整合
- 使用nodejs创建Marketing Cloud的contact数据
- jzoj4743-积木【状压dp】
- strstr函数_leetcode第28题实现strStr()
- 加密软件漏洞评测系统_苹果向用户推送macOS Big Sur 11.0.1正式版系统_华强北软件网_软件行情_软件新闻_软件评测_手机应用文章...
- iOS自己定义返回button(不影响返回手势)
- Eclipse环境变量配置!
- [work*] 贝叶斯公式的通俗解释
- 数据挖掘实验(三)Matlab初步实现ID3算法【决策树根节点选择】
- 2019矿大软件工程考试记录
- 改进平滑滚动,修改音量调节级数实现音量微调【编译自XDA 适用于大部分设备】
- 【风宇冲】动画系统Mecanim
- 2.4 旋转曲面 (1)
- SUS2019迎新赛ret2moonWP