QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4206|回复: 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 聚类算法$ z( c2 u7 b+ ^  u4 o9 o) l

    ' t; w1 \5 K2 u! B0 D
    • 特点# E: `8 s- O, ?% W
      • 对初始化敏感。初始点选择的不同,可能会产生不同的聚类结果
      • 最终会收敛。不管初始点如何选择,最终都会收敛
        4 o  z# y* A$ B: D
    • 算法思想- K. D' H- H  M/ D
       QQ截图20200611100936.png [color=rgba(0, 0, 0, 0.75)]
    # d# n. R. X4 w# h[color=rgba(0, 0, 0, 0.75)]代码实现实验目的
    • 根据下列成绩单,将5名同学成绩归为A类、B类、C类。

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

      ; C% `$ M$ P3 h( F5 [' h

    , U4 }& o) W5 \4 W+ u( o
    学生姓名小测1小测2小测3期末成绩项目答辩成绩
    张三1215132824
    李四711101921
    王五1214112723
    赵六6741320
    刘七1314132725
    4 g; X3 D# }! J( J6 ^6 V7 Y  ~. p
    实验步骤1. 数据准备
    • 将数据储存为csv文件,格式如下

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

      QQ截图20200611101104.png # w! {9 z) D, B! q/ `+ w/ o
    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 w$ S3 [  C- p' s- t
    3. 设置参数,调用函数,得到结果实验结果
    • 初始质心为[12, 15, 13, 28, 24], [ 7, 11, 10, 19, 21],[12, 14, 11, 27, 23]时,迭代2次即收敛,结果如下
      / O; {' q3 |3 g" |5 c
    : J) r% M' j' I+ P, b' H1 ~
    学生姓名小测1小测2小测3期末成绩项目答辩成绩
    张三1215132824A
    李四711101921B
    王五1214112723C
    赵六6741320B
    刘七1314132725A

    3 j, ^  \/ k& z: Z
    - L0 j6 g, v, y. u4 O原文地址:
    % W" y, O. k5 T1 h, `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
    6 F6 e9 s- C: {% y8 G& Y0 o: \9 j# I

    ) B, Q" A7 P$ o( p; z. j, a: ]% A
    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-14 01:22 , Processed in 0.492649 second(s), 65 queries .

    回顶部