sklearn.cluster.KMeans

K-mearns取类算法

k-mearns算法以k为参数,把n个对象分成k个簇,使簇内具有较高的相似度,而簇间的相似度较低
1、随机选择k个点作为初始的聚类中心
2、对于剩下的点,根据其与聚类中心的距离,将其归入最近的簇
3、对每个簇,计算所有点的均值作为新的取类中心
4、重复2、3直到取类中心不再发生改变

拓展
计算两条数据相似性时,sklearn.K-Means默认用欧式距离,
虽然还有余弦相似度,马氏距离等多种方法,但没有设定计算距离方法的参数

K-means的应用

数据介绍:
现有1999年全国31个省份城镇居民家庭平均每月全年消费性支出 的八个主要变量数据,这八个变量分别是
食品、衣着、家庭设备用品、服务、医疗保健、交通、通讯、娱乐教育文化服务、居住以及杂项商品和服务。
利用已有数据,对31个省份进行聚类

实验目的

通过聚类,了解1999年各个省份的消费水平在国内的情况

技术路线

sklearn.cluster.Kmeans

数据

‘E:\python\Spyder_analysis\课程数据’1

实验过程

1、使用算法:K-means聚类算法
2、实现过程
1、建立工程,导入sklearn相关包
import numpy as np
from sklearn.cluster import KMeans
2、加载数据,创建K-means算法实例,并进行训练,获得标签
3、输出标签,查看结果
将城市按照消费水平n_clusters类,消费水平相近的城市聚集在一类中
expense:聚类中心点的数值加和,也就是平均消费水平

调用K-Means方法所需参数:
km=KMeans(n_clusters=8,init=‘k-means++’,n_init=10,max_iter=300,tol=1e-4,
precompute_distances=‘auto’,verbose=0,random_state=None,
copy_x=True,n_jobs=None,algorithm=‘auto’)
n_clusters:用于指定取类中心的个数
init:初始聚类中心的初始化方法
max_iter:最大迭代次数
一般调用 时只用给出n_clusters即可,init默认是k-means++,max_iter默认是300

其他参数:
data:加载的数据
label:聚类后各数据所属的标签
fit_predict():计算簇中心以及为簇分配序号

代码实例

import numpy as np
from sklearn.cluster import KMeans
#定义数据导入方法
def 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([items[i] for i in range(1,len(items))])#print(retCityName)return retData,retCityName#加载数据,创建K-means算法实例,并进行训练,获得标签
if __name__=='__main__':filepath='E:/python/Spyder_analysis/课程数据/聚类/31省市居民家庭消费水平-city.txt'data,cityName=loadData(filepath)  #利用loadData方法读取数据km=KMeans(n_clusters=3)              #创建实例label=km.fit_predict(data)          #调用Kmeans() fit_predict()方法进行计算expenses=np.sum(km.cluster_centers_,axis=1)  #print(expenses)CityCluster=[[],[],[]]      #将城市 按label分成设定的簇,将每个簇的城市输出for i in range(len(cityName)):CityCluster[label[i]].append(cityName[i])for i in range(len(CityCluster)):print("Expenses:%.2f" %expenses[i])print(CityCluster[i])

  1. 数据
    北京,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 ↩︎

python sklearn K-Mearns---实例——消费水平相关推荐

  1. python 机器学习——K 近邻分类理论及鸢尾( Iris )数据集实例操作

    K 近邻分类理论及鸢尾( Iris )数据集实例操作 一.K 近邻分类理论 二.K 近邻分类实例操作 (1)导入数据 划分训练集测试集 (3)数据标准化 (4)用 K 近邻法建立模型 (5)性能评估 ...

  2. 在哪里能收到python实例代码-Python找出最小的K个数实例代码

    题目描述 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 这个题目完成的思路有很多,很多排序算法都可以完成既定操作,关键是复 ...

  3. python sklearn PCA 实例-主成分分析

    python sklearn decomposition PCA 主成分分析 主成分分析(PCA) 1.主成分分析(Principal Component Analysis,PCA)是最常用的一种降维 ...

  4. python键盘输入代码,python监控键盘输入实例代码

    本文研究的主要是python监控键盘输入的相关代码,用到了os,sys,time等,具体实现代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- im ...

  5. Python KNN K近邻分类

    Python KNN K近邻分类 1 声明 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理. 2 KNN简介 相关概念见下: 对于给定的观测来 ...

  6. python ks值计算_利用Python计算KS的实例详解

    在金融领域中,我们的y值和预测得到的违约概率刚好是两个分布未知的两个分布.好的信用风控模型一般从准确性.稳定性和可解释性来评估模型.sOf免费资源网 一般来说.好人样本的分布同坏人样本的分布应该是有很 ...

  7. python第k序列元素查找_python查找第k小元素代码分享 -电脑资料

    复制代码代码如下: # -*- coding: utf-8 -*- from random import randint from math import ceil, floor def _parti ...

  8. 机器学习经典算法具体解释及Python实现--K近邻(KNN)算法

    (一)KNN依旧是一种监督学习算法 KNN(K Nearest Neighbors,K近邻 )算法是机器学习全部算法中理论最简单.最好理解的.KNN是一种基于实例的学习,通过计算新数据与训练数据特征值 ...

  9. KNN分类算法原理与Python+sklearn实现根据身高和体重对体型分类

    KNN算法是k-Nearest Neighbor Classification的简称,也就是k近邻分类算法.基本思路是在特征空间中查找k个最相似或者距离最近的样本,然后根据k个最相似的样本对未知样本进 ...

  10. Python+sklearn使用线性回归算法预测儿童身高

    问题描述:一个人的身高除了随年龄变大而增长之外,在一定程度上还受到遗传和饮食以及其他因素的影响,本文代码中假定受年龄.性别.父母身高.祖父母身高和外祖父母身高共同影响,并假定大致符合线性关系. imp ...

最新文章

  1. 深度学习实战讲词嵌入 很好的 NLP电子书
  2. 关于laravel发布到github'丢失'vendor目录或其他文件的解决
  3. Boost:基于Boost的聊天的应用程序
  4. 关于计算机展览的英语作文,2015考研英语作文范文精选:选什么东西参加展览?...
  5. 有限元python编程流行吗_Python进行有限元分析
  6. php动态网页技术难点及分析,动态网页技术PHP关于cookie和session的分析
  7. 时间太少,如何阅读?
  8. 一场重新定义的发布会
  9. 【疾病分类】基于matlab GUI模糊逻辑分类叶病严重程度分级系统【含Matlab源码 194期】
  10. 基于Unity3d的FPS与塔防相结合的游戏设计
  11. 《气候宣言》宣布100多家签约组织,承诺至2040年或更早实现净零碳排放
  12. 基于mvc设计模式下的商品管理平台
  13. 微信支付 “商家转账到零钱”
  14. 网页加入动态动漫人物
  15. Android Camera HAL3 - 框架流程预览
  16. matlab实现调整图片的饱和度
  17. 【Globalmapper中文入门到精通系列实验图文教程】(附配套实验数据+中文汉化版安装包23+24,持续同步更新)
  18. RAID技术超详细介绍(RAID大全)
  19. Python五角星的绘画
  20. 1. 获取数据-requests.get()

热门文章

  1. ubantu与CentOS虚拟机之间搭建GRE隧道
  2. html5内嵌式格式,如何使用内嵌式引入css样式表
  3. 笔记-中项/高项学习期间的错题笔记1
  4. 读 Lars V. Ahlfors 之《复分析》
  5. 【中医学】0 绪论 + 1 阴阳五行学说
  6. 解决谷歌浏览器切后台会停止游戏
  7. android webview白屏,处理方案:webview 闪白屏问题
  8. 搭建 VuePress 站点必做的 10 个优化
  9. Mogrt是什么?如何在PR中安装.Mogrt文件并使用 Premiere基本图形MOGRT文件
  10. 基于Djiango的学生管理系统(含源代码)