我的编程空间,编程开发者的网络收藏夹
学习永远不晚

机器学习——KMeans

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

机器学习——KMeans

导入类库

1 from sklearn.cluster import KMeans
2 from sklearn.datasets import make_blobs
3 import numpy as np
4 import matplotlib.pyplot as plt

  KMeans算法的过程:(假如有两类)

  1. 随机选择两个点作为聚类的中心
  2. 计算所有点距离两个中心的距离,选择距离较近的点作为类别。(例如:距离蓝点近,类别是蓝色)
  3. 计算已经分好类的各组数据的平均值,使用各组数据的平均值中心作为新的中心
  4. 以新的中心为依据跳转至第2步
  5. 直到收敛(两次迭代的数值没有明显的变化:新中心点距离上一次中心点的距离小于某个阈值,例如:0.03)

代码

 1 plt.figure(figsize=(6, 3))
 2 n_samples = 1500
 3 random_state = 170
 4 '''
 5 make_blobs聚类数据生成器:用来生成聚类算法的测试数据
 6 n_samples:待生成的样本的总数
 7 n_features:每个样本的特征数
 8 centers:类别数
 9 cluster_std:每个类别的方差,放在列表中
10 '''
11 X, y = make_blobs(n_samples=n_samples, random_state=random_state)
12 '''
13 KMeans是结果受初始值影响的局部最优的迭代算法
14 n_clusters:K值,类别数
15 max_iter:最大迭代次数,凸数据集可忽略该值,非凸数据集可能很难收敛,可指定最大迭代次数让算法可以及时推出循环
16 n_init:用不同的初始化质心运行算法的次数,默认是10,K值较大时,可适当增大该值
17 init:初始值选择的方式,默认为k-means++
18 algorithm:auto、full、elkan;auto自动选择,数据值稀疏时选择full,数据稠密时选择elkan
19 '''
20 y_pred = KMeans(n_clusters=2, random_state=random_state).fit_predict(X)
21 
22 # print(X[:, 0])
23 # print(y)
24 # for i in y_pred:
25 #     print(i)
26 
27 # 根据颜色画出散点图
28 plt.subplot(121)
29 plt.scatter(X[:, 0], X[:, 1], c=y_pred)
30 plt.subplot(122)
31 plt.scatter(X[:, 0], X[:, 1], c=y)
32 plt.show()

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

机器学习——KMeans

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

下载Word文档

猜你喜欢

机器学习——KMeans

导入类库1 from sklearn.cluster import KMeans2 from sklearn.datasets import make_blobs3 import numpy as np4 import matplotlib
2023-01-30

Python机器学习之Kmeans基础算法

一、K-means基础算法简介 k-means算法是一种聚类算法,所谓聚类,即根据相似性原则,将具有较高相似度的数据对象划分至同一类簇,将具有较高相异度的数据对象划分至不同类簇。聚类与分类最大的区别在于,聚类过程为无监督过程,即待处理数据对
2022-06-02

机器学习

由于工作原因,机器学习相关核心文章无法发布,对机器学习感兴趣的,随时欢迎私聊我。人工智能(机器学习)学习之路推荐《机器学习实战》-机器学习基础《机器学习实战》-k近邻算法《机器学习实战》-决策树《机器学习实战》-线性回归《机器学习实战》-逻
2023-01-31

机器学习:无监督学习

文章目录 线性学习方法聚类ClusteringKmeansHAC 分布表示降维PCAMatrix FactorizationManifold LearningLLELaplacian Eigenmapst-SEN
2023-08-30

Python机器学习:6本机器学习书籍推

机器学习是实现人工智能的一种途径,它和数据开掘有一定的相似性,也是一门多领域交叉学科,触及概率论、核算学、逼近论、凸剖析、核算复杂性理论等多门学科。对比于数据开掘从大数据之间找互相特性而言,机器学习愈加注重算法的设计,让核算机可以白动地从数
2023-01-31

Python迁移学习:机器学习算法

终有一天,人工智能会像我们看待非洲平原上低级生物的化石一样看待我们。在人工智能眼中,人类只是直立行走的猿猴,用着粗糙的语言和简陋的工具,从诞生起就注定会灭绝。

机器学习资源

推荐资源大部分来自《深度学习入门之 PyTorch》(廖星宇 编著)。Python 语言三个学习资源(1)《笨方法学 Python》(Learn Python the Hard Way)本书面向零基础的读者,通过一系列简单的例子快速入门 P
2023-01-31

机器学习模型

机器学习模型是一种计算机程序,可以从数据中学习模式并预测结果。它们有监督和无监督两种类型,通过训练和评估来学习和验证。机器学习模型广泛应用于图像识别、自然语言处理和预测分析等领域,提供自动化、准确性和可预测性等好处。然而,它们也面临数据需求、解释能力和偏差等挑战。未来趋势包括深度学习、边缘计算和自动机器学习。
机器学习模型
2024-04-02

机器学习简介

机器学习主要的理论基础涉及到概率论、数理统计、数值逼近、最优化理论、计算复 杂理论等,核心要素是数据、算法和模型。

JavaScript&机器学习

欢迎各位阅读本篇,Javascript是一avascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器终端语言,比如Perl,遗留的速度问题。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。本篇文章讲述了JavaScript&机器学习,编程学习网教育平台提醒各位:本篇文章纯干货~因此大家一定要认真阅读本篇文章哦!
JavaScript&机器学习
2024-04-23

机器学习概述

文章目录 机器学习应用背景数据挖掘个性化定制替代人力的软件应用 什么是机器学习示例 机器学习系统举例IBM Watson DeepQAIBM Watson技术需求相关技术 -- DeepQA
2023-08-30

【数据科学系统学习】机器学习算法 #

本篇内容为《机器学习实战》第 6 章 支持向量机部分程序清单。所用代码为 python3。支持向量机优点:泛化错误率低,计算开销不大,结果易解释。 缺点:对参数调节和核函数的选择敏感,原始分类器不加修改仅适用于处理二分类问题。适用数据类型:
2023-01-31

学习!机器学习算法优缺点综述

本文介绍了机器学习的各种算法的优点和缺点,一起来看一下吧。

机器学习中的“学习”到底是个啥?

将机器学习视为一种编程范式,有助于我们更好地理解其核心价值和潜力。它不仅仅是一系列算法和技术的集合,更是一种全新的思考和解决问题的方式。这种思维方式的创新为解决复杂问题提供了新的可能性,并且正在不断推动科技和社会的进步。

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录