iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >K-means算法怎么在Python中应用
  • 210
分享到

K-means算法怎么在Python中应用

2023-06-14 15:06:51 210人浏览 八月长安

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

摘要

这篇文章将为大家详细讲解有关K-means算法怎么在python中应用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Python是什么意思Python是一种跨平台的、具有解释性、编译性、互动

这篇文章将为大家详细讲解有关K-means算法怎么在python中应用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

Python是什么意思

Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。

1、调用以下库

import numpy as np   #用于抽样和生成随机数from sklearn.cluster import KMeans   #sklearn自带的Kmeans算法, 用于严重本文算法结果是否正确import matplotlib.pyplot as plt     #结果可视化import sys   #需要用到sys.exit()函数

若不需要验证聚类结果是否可以不使用Sklearn库。

2、生成用于训练的随机数据

np.set_printoptions(suppress=True)    #令numpy的结果不以科学计数法的方式输出Data = np.array([[1.0, 2.0], [1.5, 1.8], [3, 4], [6, 8], [8, 8], [1, 0.6],                 [9, 11], [7, 10]])  #你也可以通过抽样的方式来更快的获得测试数据

3、定义用于选择随机初始点和簇数(k)的函数

def K_means(data, k):    global Mean    mean = []    a = np.max(data[:, 0])    b = np.min(data[:, 0])    c = np.max(data[:, 1])    d = np.min(data[:, 1])    for i in range(k):        x = np.random.unifORM(a, b, 1)          #此处返回array        y = np.random.uniform(c, d, 1)  #此处返回array        mean.append([float(x), float(y)])    Mean = np.array(mean)    return Mean

在上面的代码中,为了限定初始点(x,y)的位置不会超出样本点的范围,因此均匀抽样的上下限是指训练数据(a,b)和(c,d)的最小横距。

4、定义可视化函数, 绘制测试数据散点图

def vision(data, cell):    plt.figure(figsize=(12,6))    ax1 = plt.subplot(121)    ax1.scatter(Data[:, 0], Data[:, 1])   #原始数据散点图    ax1.scatter(point[:, 0], point[:, 0])    #同时将随机选取的初始点表示出来    plt.xlabel("x")    plt.ylabel("y")    plt.title("scatter of " + "rural" + " data")    ax2 = plt.subplot(122)    ax2.scatter(Data[:, 0], Data[:, 1])    #原始数据散点图    ax2.scatter(data[:, 0], data[:, 1])     #经过迭代后最终确定的聚类点    plt.xlabel("x")    plt.ylabel("y")    plt.title("scatter of " + cell + " data")    plt.show()

聚类结果的可视化对于判断聚类结果的准确性至关重要。

5、定义迭代过程, 通过不断计算各个样本对聚类点的欧式聚类, 来不断更新聚类点

def iteration(Data, point):    A = []    B = []    for i in range(len(Data)):        d1 = np.sqrt(sum(pow(Data[i] - point[0], 2)))        d2 = np.sqrt(sum(pow(Data[i] - point[1], 2)))        if d1 > d2:            A.append(list(Data[i]))        else:            B.append(list(Data[i]))    if len(A) == len(Data) or len(B) == len(Data):        print("初始化错误")        sys.exit(0)    new_x1 = np.mean(np.array(A)[:, 0])    new_y1 = np.mean(np.array(A)[:, 1])     new_x2 = np.mean(np.array(B)[:, 0])    new_y2 = np.mean(np.array(B)[:, 1])    new_point = np.array([[new_x1, new_y1], [new_x2, new_y2]])    return new_point

注意, 上段代码中加入了一个if语句

    if len(A) == len(Data) or len(B) == len(Data):        print("初始化错误")        sys.exit(0)

关于K-means算法怎么在Python中应用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: K-means算法怎么在Python中应用

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • K-means算法怎么在Python中应用
    这篇文章将为大家详细讲解有关K-means算法怎么在Python中应用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动...
    99+
    2023-06-14
  • python怎么实现K-means算法
    本篇内容介绍了“python怎么实现K-means算法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  K-means 聚类算法  特点  ...
    99+
    2023-06-01
  • 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算法的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、步骤说明(1)确定K值(决定数据聚为几类,K值是K-Means算...
    99+
    2023-06-15
  • Python 中怎么实现一个k-means 均值聚类算法
    Python 中怎么实现一个k-means 均值聚类算法,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。scikti-learn 将机器学习分为4个领域,分别是分...
    99+
    2023-06-02
  • python中k-means和k-means++原理是什么及怎么实现
    这篇文章主要介绍“python中k-means和k-means++原理是什么及怎么实现”,在日常操作中,相信很多人在python中k-means和k-means++原理是什么及怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作...
    99+
    2023-06-30
  • Python实现聚类K-means算法详解
    目录手动实现sklearn库中的KMeansK-means(K均值)算法是最简单的一种聚类算法,它期望最小化平方误差 注:为避免运行时间过长,通常设置一个最大运行轮数或最小调整幅度...
    99+
    2024-04-02
  • Python如何实现聚类K-means算法
    今天小编给大家分享一下Python如何实现聚类K-means算法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。K-means...
    99+
    2023-07-02
  • 利用Python如何实现K-means聚类算法
    目录前言算法原理 目标函数 算法流程  Python实现 总结 前言 K-Means 是一种非常简单的聚类算法(聚类算法都属于无监督学习)。给定固定数量的聚类和输入数据集,...
    99+
    2024-04-02
  • 人工智能——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
  • 如何使用Python语言实现K-Means聚类算法
    这篇文章给大家分享的是有关如何使用Python语言实现K-Means聚类算法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1 概述1.1 无监督学习      在一个典型的监督学习中...
    99+
    2023-06-26
  • 利用python实现聚类分析K-means算法的详细过程
    K-means算法介绍   K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近...
    99+
    2024-04-02
  • Python sklearn中的K-Means聚类如何使用
    这篇文章主要讲解了“Python sklearn中的K-Means聚类如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python sklearn中的K-Means...
    99+
    2023-07-04
  • 如何使用Golang基本数据结构与算法k-means聚类算法
    本篇内容介绍了“如何使用Golang基本数据结构与算法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-NN算法的作用是什么
    这期内容当中小编将会给大家带来有关python中K-NN算法的作用是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy...
    99+
    2023-06-14
  • K-Means聚类算法及其python实现(已附上代码至本博客)
    目录 一、算法公式讲解二、算法流程三、算法实现代码四、代码结果分析五、K-Means库函数六、K-Means算法时间复杂度 一、算法公式讲解 对于 n代表了x有n维,x上标j表示第j维的特...
    99+
    2023-10-27
    聚类 算法 kmeans
  • python k-means聚类算法 物流分配预测实战(超详细,附源码)
    数据集和地图可以点赞关注收藏后评论区留下QQ邮箱或者私信博主要 聚类是一类机器学习基础算法的总称。 聚类的核心计算过程是将数据对象集合按相似程度划分成多个类,划分得到的每个类称为聚类的簇 聚类不等于分类,其主要区别在于聚类所面对的目标...
    99+
    2023-09-27
    聚类 算法 python
  • (python实现)一篇文章教会你k-means聚类算法(包括最优聚类数目k的确定)
    目录 摘要1. K-means算法1.1 聚类算法简介1.2 K-means聚类算法1.3 代码实现 2. 最优聚类数目K的确定2.1 手肘法--Elbow(经验方法)2.2 Silhou...
    99+
    2023-09-11
    聚类 python 算法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作