资源简介
这是我在网上搜到的一个python实现的k-means算法,我对其中的着色方法做了一定的修改。代码不长且可以演示算法的运行过程。
代码片段和文件信息
#a simple k-means algorithm
#
#useage
#step1: specify N the number of training data and k the cluster number
#step2: make data
# X = makeTrainingData(N k)
#step3: call kmeans algorithm
# kmeans(X k observer)
#
#for example
#N = 300
#k = 5
#X = makeTrainingData(N k)
#kmeans(X k observer)
from __future__ import with_statement
import cPickle as pickle
from matplotlib import pyplot
from numpy import zeros array tile
from scipy.linalg import norm
import numpy.matlib as ml
import random
def observer(iter k labels centers):
print “iter %d.“ % iter
#generate the RGB sequence
colors = zeros(k)
for i in range(k):
colors[i] = i * 255 / (k-1)
pyplot.plot(hold=False) # clear previous plot
pyplot.hold(True)
# draw points
data_colors=[colors[lbl] for lbl in labels]
pyplot.scatter(X[: 0] X[: 1] c=data_colors alpha=0.5)
# draw centers
pyplot.scatter(centers[: 0] centers[: 1] s=200 c=colors)
#pyplot.savefig(‘kmeans/iter_%02d.png‘ % iter format=‘png‘)
def kmeans(X k observer=None threshold=1e-15 maxiter=300):
N = len(X)
labels = zeros(N dtype=int)
centers = array(random.sample(X k))
iter = 0
def calc_J():
sum = 0
for i in xrange(N):
sum += norm(X[i]-centers[labels[i]])
return sum
def distmat(X Y):
n = len(X)
- 上一篇:问卷星爬虫带验证码
- 下一篇:反幂法求接近给定值对应的矩阵特征值
相关资源
- 论文生成器 js、Python源码
- python实现图书管理系统.zip
- Apriori算法Python实现23628
- 操作系统实验-单处理器系统的时间片
- Python3简明教程(中文版)
- Python坦克大战代码.rar
- Python编程——从入门到实践外星人入
- 人脸识别pythonLBPH
- python 对csv数据的读取、空值、重复的
- 基于Haar+Adaboost人脸识别.ipynb
- python GUI井字棋
- python实现GUI界面的ATM系统
- PYTHON的winio
- 深度学习算法的自动编码解码器Pyth
- API — ffn 0.3.0 中文.pdf
- JPype1‑0.6.3‑cp37‑cp37m‑win_amd64.whl
- python神经网络书中的代码修改得到的
- 树莓派LoRa教程.docx
- 爬取好大夫网.py
- 网易云课堂:21天搞定Python分布式爬虫
- arp欺骗python脚本
- pythonweb大作业
- Python从零基础到大牛项目实战:抓取
- Python3网络爬虫开发实战 配套源码 完
- wenjuan.py问卷网自动刷问卷程序
- 堆叠降噪自编码器python代码基于Tens
- ALL_demos.rar贾老师python-OpenCV源码
- python爬虫简单源码,附解释。
- 回溯法之最小长度电路板排列问题.
- python聊天室---pyqt5+socket+Thread聊天室
评论
共有 条评论