QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3363|回复: 1
打印 上一主题 下一主题

[地区赛经验] python实现K-means算法(步骤详细)

[复制链接]
字体大小: 正常 放大

326

主题

32

听众

1万

积分

  • TA的每日心情
    慵懒
    2020-7-12 09:52
  • 签到天数: 116 天

    [LV.6]常住居民II

    管理员

    群组2018教师培训(呼和浩

    群组2017-05-04 量化投资实

    群组2017“草原杯”夏令营

    群组2018美赛冲刺培训

    群组2017 田老师国赛冲刺课

    跳转到指定楼层
    1#
    发表于 2020-6-11 10:07 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    [color=rgba(0, 0, 0, 0.75)]K-means 聚类算法8 R/ M" a+ b. i+ j- a/ ?! q

    2 O1 n( P- a9 f0 X* l
    • 特点8 w8 [' D' z! N1 [6 d' |$ B; m. ?
      • 对初始化敏感。初始点选择的不同,可能会产生不同的聚类结果
      • 最终会收敛。不管初始点如何选择,最终都会收敛
        ( M6 u0 Z4 n) |6 h' N1 S7 ^1 x
    • 算法思想4 I$ E4 f+ q7 [# N0 q2 M' @- j
       QQ截图20200611100936.png [color=rgba(0, 0, 0, 0.75)]
    ) e  K5 W1 x# L2 T! ~3 C- K[color=rgba(0, 0, 0, 0.75)]代码实现实验目的
    • 根据下列成绩单,将5名同学成绩归为A类、B类、C类。

    • 限制:使用Kmeans算法实现,但不直接调用sklearn第三方库的KMeans函数。

      9 e( ]: W" Z4 }( w) u# C- H0 a
    / _' j8 n/ o) G$ X, O
    学生姓名小测1小测2小测3期末成绩项目答辩成绩
    张三1215132824
    李四711101921
    王五1214112723
    赵六6741320
    刘七1314132725

    * g" E. N  \; x- ?1 [4 ]实验步骤1. 数据准备
    • 将数据储存为csv文件,格式如下

      QQ截图20200611101036.png
    • 在从csv文件中读取数据,并选取可用的数据(排除姓名列)

      QQ截图20200611101104.png % {9 X. t5 C$ ?9 a$ l  Z. D
    2. KMeans算法实现
    • KMeans算法涉及两点之间距离的计算,我们提前写好一个函数:输入两个点的坐标,返回两点之间的欧氏距离

      1.png
    • [color=rgba(0, 0, 0, 0.75)]函数k_means(c,data,max,label)实现KMeans算法:
    • [color=rgba(0, 0, 0, 0.75)]a. 输入:质心列表c,待聚类数据data,最大迭代次数max,标签列表label
    • [color=rgba(0, 0, 0, 0.75)]b. 计算data中的每个点分别到3个质心的欧式距离,得到一个矩阵metrix
    • 2.png
    • [color=rgba(0, 0, 0, 0.75)]c. 比较矩阵metrix同一列的数值大小,将对应的学生划归距离较短的质心所属的类,将标签存储为列表.
    • [color=rgba(0, 0, 0, 0.75)] 3.png
    • [color=rgba(0, 0, 0, 0.75)]d. 重新计算质心的坐标,新质心的坐标=被划归同一类点的坐标的平均值
    • [color=rgba(0, 0, 0, 0.75)] 4.png
    • e. 重复b~d,直到质心坐标不再变化或达到最大迭代次数

      f. 返回标签列表
      ! F9 T- `7 m1 Q8 r2 k- L
    3. 设置参数,调用函数,得到结果实验结果
    • 初始质心为[12, 15, 13, 28, 24], [ 7, 11, 10, 19, 21],[12, 14, 11, 27, 23]时,迭代2次即收敛,结果如下4 v+ S- Q& [1 d- U

    $ ^: {' K7 r# K$ y& x# s3 ?  S
    学生姓名小测1小测2小测3期末成绩项目答辩成绩
    张三1215132824A
    李四711101921B
    王五1214112723C
    赵六6741320B
    刘七1314132725A

    * T% r& x' d3 F8 Z- ^; E$ L
    & R, s- p* n3 {$ Y7 U7 s原文地址:, h4 B& [2 K7 q! y7 U
    https://blog.csdn.net/qq_39753778/article/details/106159732?utm_medium=distribute.pc_category.319779.nonecase&depth_1-utm_source=distribute.pc_category.319779.nonecase
    ! j* n% x  {1 [% n6 R( K4 y
    : |7 e! I% \  Y) _8 T6 d# S: o8 B- Z) q
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    0

    主题

    0

    听众

    1

    积分

    升级  20%

    该用户从未签到

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-5-3 02:23 , Processed in 0.577439 second(s), 58 queries .

    回顶部