Step1:导入所需的模块 

import csv
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn import preprocessing
from mpl_toolkits.mplot3d import axes3d

Step2:导入所需数据

nodedata=pd.read_csv('node.data.txt')
newnodedata=nodedata.loc[0:9][["population","Total industrial output value","Consumption of material assets"]]
newnodedata#读取指定的行和列,多个列同时读取要加[]

Step3:数据预处理

dataset_array=np.genfromtxt('node.data.txt',delimiter=',',skip_header=1,usecols=(1,2,3))#跳过第一行表头,读取有效的三列数据,以数组形式存储,不可删除
print(dataset_array)

 Step4:搭建K_Means模型求解(暂取簇数为3,即n_clusters=3)

from sklearn.cluster import KMeans
KMeans_model = KMeans(n_clusters=3,random_state = 9)
KMeans_model.fit(newnodedata)
#质心
print(KMeans_model.cluster_centers_)
#每个样本的标签
print(KMeans_model.labels_)
#SSE
print(KMeans_model.inertia_)

Step5:可视化

from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
labels = KMeans_model.labels_
fig = plt.figure()
#ax = Axes3D(fig)
ax = plt.subplot(projection = '3d')  # 创建一个三维的绘图工程
ax.set_title('Classification results-3D_image_show')  # 设置本图名称
color = ["dodgerblue", "seagreen", "lightcoral"]
for i in range(3):#range(i)=0,1,...,i-1d = newnodedata[labels == i]ax.scatter(d["population"], d["Total industrial output value"], d["Consumption of material assets"], color=color[i], label=f"type{i}")city_list=nodedata["city"]print(city_list[d.index])
#坐标轴标记
ax.set_xlabel("population")
ax.set_ylabel("Total industrial output value")
ax.set_zlabel("Consumption of material assets")
# 使用plt.legend()函数展示图例
plt.legend()
# 展示图像
plt.show()

Step6: 利用肘部法则,确定合适的簇数,即确定n_clusters的值

from sklearn.cluster import KMeans
SSE_list=[]
for i in range(1,10):KMeans_model = KMeans(n_clusters=i,random_state = 1)KMeans_model.fit(dataset_array)SSE_list.append(KMeans_model.inertia_)
clusters_list=[1,2,3,4,5,6,7,8,9]
plt.plot(clusters_list, SSE_list,c='dodgerblue', linewidth=1.0)
plt.title('Elbow diagram')
plt.xlabel('n_clusters')
plt.ylabel('SSE')
plt.show()

OVER!!!!!! 

Python(jupyter notebook)--K-means聚类实例相关推荐

  1. Python OpenCV应用K均值聚类进行颜色量化

    Python OpenCV应用K均值聚类进行颜色量化 1. 效果图 2. 颜色量化是什么? 3. MiniBatchKMeans & KMeans 4. 源码 参考 在这篇博客文章中,我将向您 ...

  2. OpenCV的k - means聚类 -对图片进行颜色量化

    OpenCV的k - means聚类 目标 学习使用cv2.kmeans()数据聚类函数OpenCV 理解参数 输入参数 样品:它应该的np.float32数据类型,每个特性应该被放在一个单独的列. ...

  3. OpenCV官方文档 理解k - means聚类

    理解k - means聚类 目标 在这一章中,我们将了解k - means聚类的概念,它是如何工作等. 理论 我们将这个处理是常用的一个例子. t恤尺寸问题 考虑一个公司要发布一个新模型的t恤. 显然 ...

  4. python jupyter notebook 多个excel文档合并

    #python jupyter notebook 合并多个excel表格的代码 ```python import pandas as pd file1 = pd.read_excel('E:/你的目录 ...

  5. [python][jupyter notebook]之菜鸟安装[pyecharts]中Geo或Map显示问题

    作为菜鸟,在学习使用pyecharts模块进入jupyter notebook的时候,又遇到了问题--那就是,可以使用一下代码,导入Geo和Map模块,但是弄了之后看不见地图. from pyecha ...

  6. Python/Jupyter Notebook以及可视化的运用

    最近陆陆续续使用Jupyter Notebook和Python可视化做了一些小工具,用于提高开发效率. 这里将其归类总结一下,作为学习的记录. 转载于:https://www.cnblogs.com/ ...

  7. python的jupyter的使用教程-Python·Jupyter Notebook各种使用方法

    安装Jupyter Notebook的先决条件:已经安装了python(python 2.7 或者是python3) 具体的安装方法: 官方建议利用Anaconda安装Jupyter 安装完成Anac ...

  8. Python·Jupyter Notebook各种使用方法

    PythonJupyter Notebook各种使用方法记录持续更新 一 Jupyter NoteBook的安装 1 新版本Anaconda自带Jupyter 2 老版本Anacodna需自己安装Ju ...

  9. [python] Jupyter Notebook 画股票折线图

    1. Jupyter Notebook 是一个web python应用程序,它可以支持实时代码和画图 安装命令如下 pip install jupyter -i https://pypi.douban ...

  10. 机器学习算法与Python实践之k均值聚类(k-means)

    机器学习算法与Python实践之(五)k均值聚类(k-means) zouxy09@qq.com http://blog.csdn.net/zouxy09 机器学习算法与Python实践这个系列主要是 ...

最新文章

  1. SQL Server数据库-视图相关操作-2种方式【图形用户界面操作(新建、保存、查看、维护、删除 视图)、SQL语句操作(创建、查看、修改、删除 视图)】
  2. 服务器运维一般的故障率,服务器平均故障率
  3. RabbitMq(十三)消息发送确认与回调机制
  4. 多行文本溢出显示省略号
  5. 精通~Scrum为什么会转型困难
  6. html语言添加点击事件,vue 中拼接html时添加点击事件
  7. 基于Python和OpenCV的图像目标检测及分割
  8. 用H5STEAM实现大华摄像头的WEB开发
  9. 统一网关Gateway-搭建网关服务
  10. 送给计算机老师平安夜贺卡,平安夜送给老师的平安祝福语
  11. NEC the WISE点亮的不仅仅是新零售
  12. 计算机英语发展,计算机发展史(英语版)
  13. cesium 关于feature的知识点
  14. 1#includestdio.h #includestring.h int deng(char a[],ch、用函数实现登陆功能(三次机会),然后在主函数中根据调用后的结果判断 登陆成功与否。
  15. Spring Cloud学习笔记—网关Spring Cloud Gateway官网教程实操练习
  16. 垫片,弹垫,螺母的顺序
  17. 数学历史上的三次危机
  18. 苹果ipv6审核解决方案
  19. go语言可以做什么?入门Go语言
  20. cpolar+calibre搭建自己的kindle书库

热门文章

  1. C语言学生管理系统项目
  2. 数字经济下的发展挑战
  3. Sql Server 快捷键
  4. [转]kaldi ASR: DNN训练
  5. 什么事LLVM和Clang?Clang与GCC有什么区别?Clang如何使用?
  6. 计算机专业笔记本用i5还是i7,玩游戏笔记本i5和i7的区别_笔记本电脑游戏用i5还是i7...
  7. Java毕业设计_图书馆信息管理系统
  8. @Inherited 的作用
  9. Typedef 用法总结
  10. 关于logrotate的使用