QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4210|回复: 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 聚类算法9 f* M+ u" U! r0 V
    2 g7 n) b$ N6 [5 Y5 c$ s
    • 特点; o( A, K2 b8 R) J0 \
      • 对初始化敏感。初始点选择的不同,可能会产生不同的聚类结果
      • 最终会收敛。不管初始点如何选择,最终都会收敛
        # D$ P% O+ X. }  ]
    • 算法思想
      / S' V. b6 c7 T# k, a% n/ s8 ]
       QQ截图20200611100936.png [color=rgba(0, 0, 0, 0.75)]
    ) W! @0 h$ d4 p' G5 p0 l[color=rgba(0, 0, 0, 0.75)]代码实现实验目的
    • 根据下列成绩单,将5名同学成绩归为A类、B类、C类。

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

      9 P. J: j5 o2 W2 r2 x# E
    8 q/ w% s$ A+ M* {' T
    学生姓名小测1小测2小测3期末成绩项目答辩成绩
    张三1215132824
    李四711101921
    王五1214112723
    赵六6741320
    刘七1314132725

    : W) D! v6 g; I# [实验步骤1. 数据准备
    • 将数据储存为csv文件,格式如下

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

      QQ截图20200611101104.png
      0 H$ B0 o2 p1 P' d3 }8 i7 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. 返回标签列表
      , X4 K5 s* U9 v
    3. 设置参数,调用函数,得到结果实验结果
    • 初始质心为[12, 15, 13, 28, 24], [ 7, 11, 10, 19, 21],[12, 14, 11, 27, 23]时,迭代2次即收敛,结果如下
      * i* s* p! F4 o
    : D* F7 R/ _# C
    学生姓名小测1小测2小测3期末成绩项目答辩成绩
    张三1215132824A
    李四711101921B
    王五1214112723C
    赵六6741320B
    刘七1314132725A
    ! Q- F+ @, ]3 ^
    & j+ p+ b# x- G6 l1 {
    原文地址:$ G; x0 E( O+ ^5 I! D
    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" T8 @+ @: ^5 s0 U5 ^% V- }# {

    ' C# @4 L1 G- J$ D( q+ w0 q. E0 ^- {4 a3 f
    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 19:55 , Processed in 0.424677 second(s), 65 queries .

    回顶部