k-means python代码
def fun_dis (x,y,n):
return sum (map (lambda v1,v2:pow(abs(v1-v2),n), x,y))
def distance (x,y):
#return fun_dis (x,y,2)
return fun_dis (x,y,1)
def min_dis_center(center, node):
min_index = 0
min_dista = distance (center[0][1],node)
for i in range (1,len(center)):
tmp = distance (center[i][1],node)
if (tmp < min_dista):
min_dista = tmp
min_index = i
return min_index
# input [[x1,y1,z1..],[x2,y2,z2..]..]
# return
def k_means (info,k=5):
center = [[1,info[i]] for i in range(k)]
result = [[i] for i in range(k)]
width = len (info[0])
for i in range(k,len(info)):
min_center = min_dis_center (center,info[i])
for j in range(width):
center[min_center][1][j] = (center[min_center][1][j] * center[min_center][0] + info[i][j])/ (1.0+center[min_center][0])
center[min_center][0] += 1
result[min_center].append (i)
return result,center
test_data = [[1,100,300,9],
[9,200,400,20],
[2,102,305,10],
[3,103,299,9],
[3,105,299,11],
[3,105,299,11],
[9,200,400,20],
[2,102,305,10],
[11,220,409,20]]
data = k_means (test_data,2)
print data[0]
print data[1]
分享到:
相关推荐
这个压缩包文件可能包含了一个简单的K-means聚类的Python代码示例。接下来,我将详细讲解K-means算法的基本原理、Python实现以及scikit-learn库的使用。 ### K-means算法概述 1. **基本思想**:K-means算法试图将...
标题"**Fuzzy-C-means Python代码**"指出了我们将探讨的是如何用Python编程语言实现Fuzzy C-Means算法。通常,Python因其丰富的科学计算库如NumPy、Pandas和Scikit-learn而成为数据科学和机器学习的首选语言。 描述...
在提供的压缩包中,可能包含了使用 Python 编写的 k-means 和 k-medoids 实现,以及测试数据。这些实现可能包括自定义的优化或特定领域的应用。 对于初学者,理解并实现这些算法可以帮助深入理解聚类过程,而对已有...
本教程将深入探讨如何使用Python实现K-Means算法对文本数据进行聚类。K-Means是一种简单且有效的无监督机器学习算法,适用于大量数据的分组。 首先,我们需要对文本进行预处理,这是NLP中的关键步骤,目的是消除...
在Python中实现k-means算法,我们可以借助科学计算库numpy、数值优化库scipy以及数据可视化库matplotlib。以下是对这个主题的详细阐述: 1. **k-means算法简介**: k-means是一种迭代的聚类算法,目标是将数据集...
在本实验中,我们将深入探讨如何使用Python编程语言和K-Means聚类算法来对MNIST数据集中的手写数字图像进行分类。MNIST数据集是机器学习领域的一个经典基准,它包含了大量的0到9的手写数字图像,用于训练和测试图像...
在Python中,可以使用`sklearn.cluster`库来实现K-means和DBSCAN。`sklearn.cluster.KMeans`提供了K-means算法的实现,包括初始化、分配和更新步骤。而`sklearn.cluster.DBSCAN`则实现了DBSCAN算法,可以设置`eps`...
ISODATA(Iterative Self-Organizing Data Analysis Technique)与K-means是两种常见的无监督机器学习算法,常用于数据的聚类分析。这两种方法在处理大数据集时,能够自动发现数据中的内在结构和模式,将相似的数据...
K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。...本代码提供了k-means算法的python实现,并使用matlibplot可视化算法结果
在给定的项目"Python-DP-Means-Clustering-master"中,很可能包含了这两个算法的代码实现,包括数据预处理、模型训练和结果评估等部分。 为了比较这两种算法,我们可以考虑以下几个方面: 1. **性能**:比较两者的...
通过k-means实现聚类,本例给出的数据集是testSet,用户下载代码以后,修改fileIn = open('F:/python/testSet.txt') 这句代码为自己文件的存放位置,即可运行。
### Python运用K-means聚类算法进行客户分群的实现详解 #### 一、背景与问题陈述 在当今商业环境中,了解客户群体特征对于制定有效的市场策略至关重要。本篇文章将探讨如何利用Python中的K-means聚类算法对超市...
在本项目中,我们将深入探讨基于Python的机器学习技术,特别是K-means聚类算法,通过分析NBA球员的数据来划分球员群体。K-means是一种无监督学习方法,用于将数据集分成不同的组或“簇”,其中每个簇内的数据点彼此...
在这个项目中,提供的Python代码可能是使用pandas库进行数据预处理,numpy进行数学计算,matplotlib和seaborn用于数据可视化,以及sklearn库中的KMeans类实现K-means算法。如果你不想更改代码中的文件路径,可以直接...
在本案例中,我们将探讨如何使用Python来创建一个全国城市分布图,并通过k-means聚类算法对城市进行分类。k-means是一种无监督学习方法,常用于数据的分组和发现数据中的潜在结构。 首先,我们需要导入必要的Python...
上述代码是利用python内置的k-means聚类算法对鸢尾花数据的聚类效果展示,注意在运行该代码时需要采用pip或者其他方式为自己的python安装sklearn以及iris扩展包,其中X = iris.data[:]表示我们采用了鸢尾花数据的四...
在本实验中,我们将深入探讨K-means聚类算法,这是一种广泛应用的数据挖掘技术,用于无监督学习中的数据分组。K-means算法基于距离度量,通过迭代过程将数据点分配到最近的聚类中心,直到聚类中心不再显著变化或达到...