7. 聚类算法 KMeans

聚类算法 KMeans

  • 1. 应用:大数据杀熟
  • 2. 迭代法
  • 3. 代码

1. 应用:大数据杀熟

  • 618、双十一,平台要对用户进行分类:
  • 用户:
    • 脑残粉(不降价,或者涨点价)
    • 墙头草(给点小优惠券)
    • 其他平台用户(打骨折拉客)
  • KMeans是一种广泛使用的聚类算法,属于无监督学习方法,其主要目的是将数据点分组成若干个集群,使得同一个集群内的数据点相似度高,而不同集群间的数据点相似度低。

2. 迭代法

  • 从一个随机状态开始
  • 采用一定的策略,逐步变好
  • 量变达到质变
  • 实现目的
  • 先粗糙的开始,然后慢慢的变好!!!

3. 代码

from sklearn.datasets import make_blobs
from matplotlib import pyplot as plt
import numpy as np
X,y=make_blobs(n_samples=2000,n_features=2,centers=5,cluster_std=0.5)
print(np.unique(np.array(y)))  #:[0 1 2 3 4]
print(X.shape,y.shape)  #: (2000, 2) (2000,)
plt.scatter(X[:,0],X[:,1],c=y)

在这里插入图片描述

from sklearn.cluster import KMeans
km = KMeans(n_clusters=5,algorithm="auto")
# 如果出现报错:‘NoneType‘ object has no attribute ‘split‘  解决方案:pip install --upgrade threadpoolctl
km.fit(X)
print(km.cluster_centers_)
plt.scatter(X[:, 0], X[:, 1], c=y)
plt.scatter(km.cluster_centers_[:, 0], km.cluster_centers_[:, 1], marker="*", s=100, c="red")

[[-5.31628485 -1.45893969]
[-1.0759308 9.94338596]
[ 0.72948784 -2.3113112 ]
[-6.95011209 7.31684924]
[-3.39357312 -4.8877097 ]]
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/48994.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Day14 | 找树左下角的值 路径总和 从中序与后序遍历序列构造二叉树

语言 Java 找树左下角的值 题目链接:找树左下角的值 题目 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 思路 本题有两种做法我主要讲一下递归的思路,创建两个全局变量&…

二叉树精选面试题

💎 欢迎大家互三:2的n次方_ 1. 相同的树 100. 相同的树 同时遍历两棵树 判断结构相同:也就是在遍历的过程中,如果有一个节点为null,另一棵树的节点不为null,那么结构就不相同 判断值相同:只需…

Java写的简单卡券系统

以下是一个简单的Java卡券系统的示例代码: import java.util.ArrayList; import java.util.List;class Card {private String code;private double balance;public Card(String code, double balance) {this.code code;this.balance balance;}public String getC…

Android GlSurfaceView渲染YUV图形

OpenGL ES 2.0 的代码,用来显示YUV格式的视频数据。这个示例将包括初始化OpenGL环境、加载Shader程序、绘制纹理等步骤 import android.content.Context; import android.opengl.GLES20;import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.Fl…

Ubuntu22.04安装与卸载nginx

换源 如果是国内的就不用换 中科大的源,由于我这里是Ubuntu,所以我就直接选Ubuntu22.04就行 点击下载,或者你直接复制这个sources.list的内容到linux中的/etc/apt/sources.list也可以,把原来的sources.list备份一下,…

nfs和samba

​webserver 服务器:作用是发布nginx的web项目 1、安装nginx(只下载不安装) [rootweb_server ~]# yum -y install --downloadonly --downloaddir./soft/ nginx 2、配置一个本地的nginx仓库 [rootweb_server ~]# yum -y install createrepo …

『 Linux 』信号概念与信号的产生

文章目录 信号概念前台进程与后台进程信号的本质硬件理解信号的产生 信号概念 "信号"一词指用来传达信息或只是的各种形式的提示或标志; 在生活中常见的信号例如红绿灯,交通标志,短信通知等 在操作系统中,"信号"是一种用于异步通知进程发生特定事件的机制;…

数据库-练习

题目要求:按照要求建立数据库与表,并完成相应的查询操作 解题步骤如下代码所示: //建立相关的数据库mydb8_worker mysql> show databases; -------------------- | Database | -------------------- | information_schema | | …

C++:智能指针 [auto_ptr]

文章目录 0x1 基本使用0x11 初步使用0x12 get()函数【获取指针指向的内存地址】0x13 release()函数 【仅仅是释放所有权,但是并没有清空内存】0x14 reset()函数 【旧值析构,重新设置指针】 0x2 迷惑点0x21 迷惑点1 (拷贝赋值)0x22 迷惑点2 &a…

NMEA 2000航空插头插座选择

一、概述 NMEA 2000航空插头插座是船舶电子设备中不可或缺的部分,它们负责在船舶的各种电子系统间传输数据和电源信号。选择合适的NMEA 2000航空插头插座对于确保船舶电子系统的稳定性和可靠性至关重要。本文将详细探讨如何选择合适的NMEA 2000航空插头插座&#xf…

NodeJS系列面试题

大家好,我是有用就扩散,有用就点赞。 有没有写过Koa中间件,说一下中间件原理,介绍下自己写过的中间件 koa本来就是一个轻量级框架,本身支持的功能并不多,功能都是通过中间件来实现不同的需求。开发者可以通…

Harmony学习(二)------ArkUI

ArkUI(方舟开发框架)是一套构建鸿蒙应用界面的框架,构建页面的最小单位就是组件,布局思路:先排版,再放内容,再美化。 官网图标库:HarmonyOS 主题图标库 | icon素材免费下载 | 华为开发者联盟 组件分类&am…

解决方案架构师系列 - AWS - Pinpoint

AWS Pinpoint介绍 Amazon Pinpoint 为营销人员和开发人员提供了一款可自定义的工具,助力他们大规模地开展跨渠道、行业和活动的客户通信。 Amazon Pinpoint是一个全面的客户参与平台,‌旨在帮助营销人员和开发人员大规模地开展跨渠道、‌行业和活动的客…

vivado INTERNAL_VREF

内部 具有差分输入缓冲器的单端I/O标准需要输入参考 电压(VREF)。当I/O组中需要VREF时,您可以使用专用VREF 引脚作为外部VREF电源,或使用INTERNAL_VREF内部生成的VREF 属性,或者对于UltraScale设备上的HP I/O组&#x…

【Golang 面试基础题】每日 5 题(一)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/UWz06 📚专栏简介:在这个专栏中,我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏…

如何定位及优化SQL语句的性能

定位及优化SQL语句的性能是一个复杂但至关重要的过程,它涉及到对数据库操作、索引使用、查询计划以及系统资源的深入理解。以下是一些步骤和技巧,可以帮助你定位并优化SQL语句的性能: 1. 使用EXPLAIN分析查询计划 执行EXPLAIN命令&#xff…

例行性工作crontab练习题

练习 请在5分钟后关闭系统中所有属于tab用户的进程,并用日志记录任务执行时间 基础知识: [rootlocalhost ~]# echo "date %F %R pkill tab finished" 2024-07-17 15:57 pkill tab finished ​ logger 123 将123写到/var/log/messages #法一&a…

Intellij IDEA 的Plugins加载不出来的解决方法

一、点开插件---右上角设置---HTTP代理设置 二、勾选自动检测代理设置 输入url: https://plugins.jetbrains.com/ 配置完成后,点击确定。 然后点击检查连接,再一次输入那个URL,一般来说可以连接成功了 然后 重启IDEA以刷新缓…

Android init常用调试工具

Android开机优化系列文档-CSDN博客 Android 14 开机时间优化措施汇总-CSDN博客Android 14 开机时间优化措施-CSDN博客根据systrace报告优化系统时需要关注的指标和优化策略-CSDN博客Android系统上常见的性能优化工具-CSDN博客Android上如何使用perfetto分析systrace-CSDN博客A…

UE TSharedPtr

文章目录 概述TSharedPtrTSharedPtr包含2部分 构造,析构,拷贝构造,移动构造构造拷贝构造移动构造 小结 概述 之前写过一篇c的智能指针的,这篇写下ue的。本质上来说是差不多的,可以简单看看。 TSharedPtr 如下图&…