`
ipython
  • 浏览: 294509 次
  • 性别: Icon_minigender_1
  • 来自: 佛山
社区版块
存档分类
最新评论

k-means python代码

阅读更多

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代码示例。接下来,我将详细讲解K-means算法的基本原理、Python实现以及scikit-learn库的使用。 ### K-means算法概述 1. **基本思想**:K-means算法试图将...

    Fuzzy-C-means Python代码

    标题"**Fuzzy-C-means Python代码**"指出了我们将探讨的是如何用Python编程语言实现Fuzzy C-Means算法。通常,Python因其丰富的科学计算库如NumPy、Pandas和Scikit-learn而成为数据科学和机器学习的首选语言。 描述...

    聚类 k-means k-medoids代码实现

    在提供的压缩包中,可能包含了使用 Python 编写的 k-means 和 k-medoids 实现,以及测试数据。这些实现可能包括自定义的优化或特定领域的应用。 对于初学者,理解并实现这些算法可以帮助深入理解聚类过程,而对已有...

    K-Means文本聚类python实现

    本教程将深入探讨如何使用Python实现K-Means算法对文本数据进行聚类。K-Means是一种简单且有效的无监督机器学习算法,适用于大量数据的分组。 首先,我们需要对文本进行预处理,这是NLP中的关键步骤,目的是消除...

    k-means python实现源码

    在Python中实现k-means算法,我们可以借助科学计算库numpy、数值优化库scipy以及数据可视化库matplotlib。以下是对这个主题的详细阐述: 1. **k-means算法简介**: k-means是一种迭代的聚类算法,目标是将数据集...

    深大计软_最优化方法_实验1:K-Means聚类之Python实现手写数字图像MNIST分类

    在本实验中,我们将深入探讨如何使用Python编程语言和K-Means聚类算法来对MNIST数据集中的手写数字图像进行分类。MNIST数据集是机器学习领域的一个经典基准,它包含了大量的0到9的手写数字图像,用于训练和测试图像...

    K-means&K-means2&K-means sklearn&DBSCAN-python代码实现-源码.zip

    在Python中,可以使用`sklearn.cluster`库来实现K-means和DBSCAN。`sklearn.cluster.KMeans`提供了K-means算法的实现,包括初始化、分配和更新步骤。而`sklearn.cluster.DBSCAN`则实现了DBSCAN算法,可以设置`eps`...

    ISODATA及K-means聚类算法

    ISODATA(Iterative Self-Organizing Data Analysis Technique)与K-means是两种常见的无监督机器学习算法,常用于数据的聚类分析。这两种方法在处理大数据集时,能够自动发现数据中的内在结构和模式,将相似的数据...

    K-means聚类分析与python实现

    K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。...本代码提供了k-means算法的python实现,并使用matlibplot可视化算法结果

    DP-means k - means聚类算法的比较

    在给定的项目"Python-DP-Means-Clustering-master"中,很可能包含了这两个算法的代码实现,包括数据预处理、模型训练和结果评估等部分。 为了比较这两种算法,我们可以考虑以下几个方面: 1. **性能**:比较两者的...

    k-means 基于anaconda的python3实现

    通过k-means实现聚类,本例给出的数据集是testSet,用户下载代码以后,修改fileIn = open('F:/python/testSet.txt') 这句代码为自己文件的存放位置,即可运行。

    Python用K-means聚类算法进行客户分群的实现

    ### Python运用K-means聚类算法进行客户分群的实现详解 #### 一、背景与问题陈述 在当今商业环境中,了解客户群体特征对于制定有效的市场策略至关重要。本篇文章将探讨如何利用Python中的K-means聚类算法对超市...

    基于Python的机器学习K-means聚类分析NBA球员案例

    在本项目中,我们将深入探讨基于Python的机器学习技术,特别是K-means聚类算法,通过分析NBA球员的数据来划分球员群体。K-means是一种无监督学习方法,用于将数据集分成不同的组或“簇”,其中每个簇内的数据点彼此...

    关于K-means算法在航空公司客户价值分析

    在这个项目中,提供的Python代码可能是使用pandas库进行数据预处理,numpy进行数学计算,matplotlib和seaborn用于数据可视化,以及sklearn库中的KMeans类实现K-means算法。如果你不想更改代码中的文件路径,可以直接...

    python全国城市分布图k-means实现

    在本案例中,我们将探讨如何使用Python来创建一个全国城市分布图,并通过k-means聚类算法对城市进行分类。k-means是一种无监督学习方法,常用于数据的分组和发现数据中的潜在结构。 首先,我们需要导入必要的Python...

    python内置K-means聚类算法对鸢尾花数据的聚类情况

    上述代码是利用python内置的k-means聚类算法对鸢尾花数据的聚类效果展示,注意在运行该代码时需要采用pip或者其他方式为自己的python安装sklearn以及iris扩展包,其中X = iris.data[:]表示我们采用了鸢尾花数据的四...

    实验3-K-means聚类实验_python_

    在本实验中,我们将深入探讨K-means聚类算法,这是一种广泛应用的数据挖掘技术,用于无监督学习中的数据分组。K-means算法基于距离度量,通过迭代过程将数据点分配到最近的聚类中心,直到聚类中心不再显著变化或达到...

Global site tag (gtag.js) - Google Analytics