QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4219|回复: 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 聚类算法, t& P9 u: }* k/ n
    + U& c, a: w5 }5 _2 `8 M
    • 特点* z* J( @5 ]/ J/ }" D& s
      • 对初始化敏感。初始点选择的不同,可能会产生不同的聚类结果
      • 最终会收敛。不管初始点如何选择,最终都会收敛
        , K( E3 |6 u$ N' J7 q  Q
    • 算法思想
      5 x' G$ z4 L5 w; n5 m+ t" F
       QQ截图20200611100936.png [color=rgba(0, 0, 0, 0.75)]
    8 r: v3 Q8 s2 Z# {, e[color=rgba(0, 0, 0, 0.75)]代码实现实验目的
    • 根据下列成绩单,将5名同学成绩归为A类、B类、C类。

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


      : i! Z) C( m& P) K! y3 f$ u8 z
    1 n" h" C; D+ u
    学生姓名小测1小测2小测3期末成绩项目答辩成绩
    张三1215132824
    李四711101921
    王五1214112723
    赵六6741320
    刘七1314132725
    3 h. {, f% g" L! _
    实验步骤1. 数据准备
    • 将数据储存为csv文件,格式如下

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

      QQ截图20200611101104.png * r# o) `  C- {. [$ S" C, X  P9 g4 n
    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. 返回标签列表
      1 S2 z  f0 ]  `4 p
    3. 设置参数,调用函数,得到结果实验结果
    • 初始质心为[12, 15, 13, 28, 24], [ 7, 11, 10, 19, 21],[12, 14, 11, 27, 23]时,迭代2次即收敛,结果如下
      3 n* \$ ]: g8 O+ Y
    7 {! J5 Q+ ?2 _; s
    学生姓名小测1小测2小测3期末成绩项目答辩成绩
    张三1215132824A
    李四711101921B
    王五1214112723C
    赵六6741320B
    刘七1314132725A

    2 \2 \/ g  Q$ E! }- v
    : f9 N- b5 c6 q- _+ Z/ [# f9 \原文地址:
    4 j, F  d1 M# y6 X. w2 whttps://blog.csdn.net/qq_39753778/article/details/106159732?utm_medium=distribute.pc_category.319779.nonecase&depth_1-utm_source=distribute.pc_category.319779.nonecase8 H% h4 y/ t  ^- R
    : S$ s  W2 t3 ~1 ]

    & z. s- m  I- m+ W' S( `& 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, 2026-6-22 16:24 , Processed in 0.709795 second(s), 65 queries .

    回顶部