这是I/O

以下是代码:

import matplotlib.pyplot as plt

import pandas as pd

import numpy as np

def findDistance(x, y):

return np.sqrt(np.sum(np.power(x-y, 2)))

def findPoints(data, k):

m, n = np.shape(data)

points = np.mat(np.zeros((k, n)))

for i in range(n):

min = np.min(data[:, i])

I = float(np.max(data[:, i]) - min)

points[:, i] = min + I * np.random.rand(k, 1)

return points

def kMeans(data, k):

m, n = np.shape(data)

cluster = np.mat(np.zeros((m, 2)))

points = findPoints(data, k)

flag = True

while flag:

flag = False

for i in range(m):

minDistance = np.inf

minIndex = -1

for j in range(k):

distance = findDistance(points[j, :], data[i, :])

if distance < minDistance:

minDistance = distance

minIndex = j

if cluster[i, 0] != minIndex:

flag = True

cluster[i, :] = minIndex, minDistance**2

for p in range(k):

pts = data[np.nonzero(cluster[:, 0].A == p)[0]]

points[p, :] = np.mean(pts, axis=0)

return points, cluster

if __name__ == '__main__':

data = pd.read_csv("E:\\result.csv")

data = pd.DataFrame({'x': data['value'], 'y': data['price']})

data = data.to_numpy()

k = 2

a, b = kMeans(data, k)

fig = plt.figure(figsize=(10, 10), dpi=100)

ax = fig.add_subplot(111)

ax.set_xlabel("$value$")

ax.set_xticks(range(0, 250000, 25000))

ax.set_ylabel("$price$")

ax.set_yticks(range(0, 85000, 5000))

ax.set_title('K-means')

for i in range(k):

pts = data[np.nonzero(b[:, 0].A == i)[0], :]

ax.scatter(np.matrix(data[:, 0]).A[0], np.matrix(data[:, 1]).A[0], marker='o', s=90, color='b', alpha=0.2)

ax.scatter(a[:, 0].flatten().A[0], a[:, 1].flatten().A[0], marker='*', s=900, color='r', alpha=0.9)

plt.show()

END

python实现kmean算法_K-means聚类算法的Python实现,Kmeans相关推荐

  1. k均值聚类算法考试例题_k means聚类算法实例

    所谓聚类问题,就是给定一个元素集合D,其中每个元素具有n个可观察属性,使用某种算法将D划分成k个子集,要求每个子集内部的元素之间相异度尽可能低,而不同子集的元素相异度尽可能高.其中每个子集叫做一个簇. ...

  2. k中心点聚类算法伪代码_聚类算法之——K-Means、Canopy、Mini Batch K-Means

    K-Means||算法 K-Means||算法是为了解决K-Means++算法缺点而产生的一种算法: 主要思路是改变每次遍历时候的取样规则,并非按照K-Means++算法每次遍历只获取一个样本,而是每 ...

  3. 聚类算法之层次聚类算法和应用举例

    聚类算法之层次聚类算法和应用举例 1.假设有N个待聚类的样本,对于层次聚类来说,步骤: 1.(初始化)把每个样本归为一类,计算每两个类之间的距离,也就是样本与样本之间的相似度: 2.寻找各个类之间最近 ...

  4. ML之Clustering之普聚类算法:普聚类算法的相关论文、主要思路、关键步骤、代码实现等相关配图之详细攻略

    ML之Clustering之普聚类算法:普聚类算法的相关论文.主要思路.关键步骤.代码实现等相关配图之详细攻略 目录 普聚类算法的相关论文 普聚类算法的主要思路 普聚类算法的关键步骤 普聚类算法的代码 ...

  5. 化学分子 降维算法umap、聚类算法hdbscan和kmeans

    参考: https://github.com/iwatobipen/chemo_info/blob/master/chemicalspace2/HDBSCAN_Chemoinfo.ipynb http ...

  6. python 聚类算法包_Python聚类算法之DBSACN实例分析 python怎么用sklearn包进行聚类

    python 怎么可视化聚类的结果 science 发表的聚类算法的python代码 测试数据长什...说明你的样本数据中有nan值,通常是因为原始数据中包含空字符串或None值引起的. 解决办法是把 ...

  7. k means聚类算法_一文读懂K-means聚类算法

    1.引言 什么是聚类?我们通常说,机器学习任务可以分为两类,一类是监督学习,一类是无监督学习.监督学习:训练集有明确标签,监督学习就是寻找问题(又称输入.特征.自变量)与标签(又称输出.目标.因变量) ...

  8. k means聚类算法_K-Means 聚类算法 20210108

    说到聚类,应先理解聚类和分类的区别 聚类和分类最大的不同在于:分类的目标是事先已知的,而聚类则不一样,聚类事先不知道目标变量是什么,类别没有像分类那样被预先定义出来. K-Means 聚类算法有很多种 ...

  9. python图像分割_基于K均值聚类算法的Python图像分割

    1个K均值算法 实际上,K-means算法是一种非常简单的算法,与算法思想或特定实现无关. 通过以一定方式测量样本之间的相似度,并迭代更新聚类中心,它属于无监督分类. 当聚类中心不再移动或移动差异小于 ...

  10. 【聚类算法】常见聚类算法总结

    转自:https://blog.csdn.net/u010062386/article/details/82499777 感谢博主 1.常见算法 1.原型聚类 "原型"是指样本空间 ...

最新文章

  1. MFC libraries are required for this project. Install them from the Visual Studio installer (Individu
  2. .yaml 文件格式简介
  3. linux centos7.6.1810安装nfs命令整理
  4. .NET Core HttpClient源码探究
  5. rest 验证demo_如何实现REST资源的输入验证
  6. 2020年中国OTT大屏服务行业研究报告
  7. sqlserver修改端口号方法
  8. Android提高显示布局文件的性能,使用include标签重用layouts
  9. 车牌OCR识别SDK
  10. 制图折断线_CAD制图规范及技巧总结大全
  11. PayPal个人高级账户收款有限制和限额吗?
  12. 如何解决:error: failed to push some refs to
  13. 第17次Scrum会议(10/29)【欢迎来怼】
  14. 如何编写Python爬虫
  15. Echarts 页面多图自适应的解决办法
  16. 百度违规屏蔽关键词判定标准查询工具
  17. pytorch用法笔记--不定期更新
  18. 【游戏建模】Zbrush建模详细教程——维京人
  19. 电脑硬盘坏了怎么恢复数据?硬盘损坏的原因又是什么?(图文讲解)
  20. 人教版选修计算机英语,人教版高中英语选修计算机英语NetworksandtheInternet.ppt

热门文章

  1. php广告任务网源码_THINKPHP仿我爱广告任务网|任务网站源码下载基于PHP+MYSQL的在线广告打码任务网站源码...
  2. python设置全局变量失败_Python全局变量与global关键字常见错误解决方案
  3. java线程太多卡顿_性能优化之卡顿延迟
  4. php抓取aspx_哪些因素会影响蜘蛛抓取页面?
  5. java中volatile关键字---学习笔记
  6. Okhttp同步请求源码分析
  7. director.js实现前端路由
  8. 第十二章_请求和响应的装饰
  9. 五、性能监视(2)Windows性能日志
  10. 【学生信息管理系统】——优化篇(一)