返回顶部
首页 > 资讯 > 后端开发 > Python >Python中K-means算法的示例分析
  • 514
分享到

Python中K-means算法的示例分析

2023-06-15 08:06:57 514人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python中K-means算法的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、步骤说明(1)确定K值(决定数据聚为几类,K值是K-Means算

这篇文章主要介绍了python中K-means算法的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

1、步骤说明

(1)确定K值(决定数据聚为几类,K值是K-Means算法中唯一的参数);

(2)从原始数据集中随机选择K个点作为初始均值点;

(3)依次从原始数据集中取出数据,每取出一个数据就和K个均值点分别计算距离(默认计算点间的欧氏距离),和谁更近就归为这个均值点所在的簇;

(4)分别计算各簇当前的均值点(即求该簇中所有点的平均值);

(5)比较当前的均值点和上一步得到的均值点是否相同,如果相同,则K-Means算法结束,否则,将当前的均值点替换掉之前的均值点,然后重新划分族,重复步骤三。

2、实例

import numpy as npimport matplotlib.pyplot as plt '''标志位统计递归运行次数'''flag = 0 '''欧式距离'''def ecludDist(x, y):    return np.sqrt(sum(np.square(np.array(x) - np.array(y)))) '''曼哈顿距离'''def manhattanDist(x, y):    return np.sum(np.abs(x - y)) '''夹角余弦'''def cos(x, y):    return np.dot(x, y)/(np.linalg.nORM(x) * np.linalg.norm(y)) '''计算簇的均值点'''def clusterMean(dataset):    return sum(np.array(dataset)) / len(dataset) '''生成随机均值点'''def randCenter(dataset, k):    temp = []    while len(temp) < k:        index = np.random.randint(0, len(dataset)-1)        if  index not in temp:            temp.append(index)    return np.array([dataset[i] for i in temp]) '''以数据集的前k个点为均值点'''def orderCenter(dataset, k):    return np.array([dataset[i] for i in range(k)]) '''聚类'''def kMeans(dataset, dist, center, k):    global flag    #all_kinds用于存放中间计算结果    all_kinds = []    for _ in range(k):        temp = []        all_kinds.append(temp)    #计算每个点到各均值点的距离      for i in dataset:        temp = []        for j in center:            temp.append(dist(i, j))        all_kinds[temp.index(min(temp))].append(i)    #打印中间结果        for i in range(k):        print('第'+str(i)+'组:', all_kinds[i], end='\n')    flag += 1    print('************************迭代'+str(flag)+'次***************************')    #更新均值点    center_ = np.array([clusterMean(i) for i in all_kinds])    if (center_ == center).all():        print('结束')        for i in range(k):            print('第'+str(i)+'组均值点:', center_[i], end='\n')            plt.scatter([j[0] for j in all_kinds[i]], [j[1] for j in all_kinds[i]], marker='*')        plt.grid()        plt.show()    else:        #递归调用kMeans函数        center = center_        kMeans(dataset, dist, center, k) def main(k):    '''生成随机点'''    x = [np.random.randint(0, 50) for _ in range(50)]    y = [np.random.randint(0, 50) for _ in range(50)]    points = [[i,j] for i, j in zip(x, y)]    plt.plot(x, y, 'b.')    plt.show()    initial_center = randCenter(dataset=points, k=k)    kMeans(dataset=points, dist=ecludDist, center=initial_center, k=k) if __name__ == '__main__':    main(3)

感谢你能够认真阅读完这篇文章,希望小编分享的“Python中K-means算法的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网Python频道,更多相关知识等着你来学习!

--结束END--

本文标题: Python中K-means算法的示例分析

本文链接: https://lsjlt.com/news/279105.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python中K-means算法的示例分析
    这篇文章主要介绍了Python中K-means算法的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、步骤说明(1)确定K值(决定数据聚为几类,K值是K-Means算...
    99+
    2023-06-15
  • python实现k-means算法
    聚类属于无监督学习,K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此...
    99+
    2024-04-02
  • Python实现聚类K-means算法
    本文内容、数据参考周志华《机器学习》,代码部分为个人实现,如有错误还请指出。 K-means(K均值)算法是最简单的一种聚类算法,它期望最小化平方误差 E ...
    99+
    2023-09-20
    聚类 算法 python
  • python怎么实现K-means算法
    本篇内容介绍了“python怎么实现K-means算法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  K-means 聚类算法  特点  ...
    99+
    2023-06-01
  • K-means算法怎么在Python中应用
    这篇文章将为大家详细讲解有关K-means算法怎么在Python中应用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动...
    99+
    2023-06-14
  • 利用python实现聚类分析K-means算法的详细过程
    K-means算法介绍   K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近...
    99+
    2024-04-02
  • python中实现k-means聚类算法详解
    算法优缺点: 优点:容易实现 缺点:可能收敛到局部最小值,在大规模数据集上收敛较慢 使用数据类型:数值型数据 算法思想 k-means算法实际上就是通过计算不同样本间的距离来判断他们的相近关系的,相近的...
    99+
    2022-06-04
    算法 详解 python
  • K-means聚类算法介绍与利用python实现的代码示例
    聚类 今天说K-means聚类算法,但是必须要先理解聚类和分类的区别,很多业务人员在日常分析时候不是很严谨,混为一谈,其实二者有本质的区别。 分类其实是从特定的数据中挖掘模式,作出判断的过程。比如Gmail...
    99+
    2022-06-04
    示例 算法 代码
  • Python实现聚类K-means算法详解
    目录手动实现sklearn库中的KMeansK-means(K均值)算法是最简单的一种聚类算法,它期望最小化平方误差 注:为避免运行时间过长,通常设置一个最大运行轮数或最小调整幅度...
    99+
    2024-04-02
  • Python如何实现聚类K-means算法
    今天小编给大家分享一下Python如何实现聚类K-means算法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。K-means...
    99+
    2023-07-02
  • Python中算法的示例分析
    小编给大家分享一下Python中算法的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 算法的设计要求算法分析的主要目标是从运行时间和内存空间消耗等方面...
    99+
    2023-06-22
  • python中PTD算法的示例分析
    小编给大家分享一下python中PTD算法的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.引言1.1什么是地面点滤波?机载激光雷达(airborne ...
    99+
    2023-06-20
  • Python读取csv文件做K-means分析详情
    目录1.运行环境及数据2.基于时间序列的分析2D2.1 2000行数据结果展示2.2 6950行数据结果展示2.3 300M,约105万行数据结果展示 3.经纬度高程三维坐...
    99+
    2024-04-02
  • 利用Python如何实现K-means聚类算法
    目录前言算法原理 目标函数 算法流程  Python实现 总结 前言 K-Means 是一种非常简单的聚类算法(聚类算法都属于无监督学习)。给定固定数量的聚类和输入数据集,...
    99+
    2024-04-02
  • 基于K-Means聚类算法演示及可视化展示
    目录K-Means聚类算法演示及可视化展示5分钟带你弄懂K-Means聚类聚类与分类的区别k-means 聚类K-Means 聚类 MATLAB 实现K-Means聚类算法演示及可视...
    99+
    2024-04-02
  • Pythonsklearn中的K-Means聚类使用方法浅析
    目录初步认识初值选取小批初步认识 k-means翻译过来就是K均值聚类算法,其目的是将样本分割为k个簇,而这个k则是KMeans中最重要的参数:n_clusters,默认为8。 下面...
    99+
    2022-12-20
    Python K-Means聚类 Python sklearn K-Means聚类
  • python利用K-Means算法实现对数据的聚类案例详解
    目的是为了检测出采集数据中的异常值。所以很明确,这种情况下的簇为2:正常数据和异常数据两大类 1、安装相应的库 import matplotlib.pyplot as plt # 用于可视化 from skle...
    99+
    2022-06-02
    python K-Means算法聚类 python K-Means算法
  • Python 中怎么实现一个k-means 均值聚类算法
    Python 中怎么实现一个k-means 均值聚类算法,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。scikti-learn 将机器学习分为4个领域,分别是分...
    99+
    2023-06-02
  • python算法题的示例分析
    这篇文章将为大家详细讲解有关python算法题的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。题目描述:编写一个算法来确定一个数字是否“快乐”。 快乐的数字按照如下方式确定:从一个正整数开始,用其...
    99+
    2023-06-15
  • 人工智能——K-Means聚类算法及Python实现
    目录1 概述1.1 无监督学习1.2 聚类1.3 K-Mean均值算法2 K-Mean均值算法 2.1 引入2.2 针对大样本集的改进算法:Mini Batch K-Mea...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作