根据下列成绩单,将5名同学成绩归为A类、B类、C类。
限制:使用Kmeans算法实现,但不直接调用sklearn第三方库的KMeans函数。
" d$ o: U0 t& T" y5 v0 o| 学生姓名 | 小测1 | 小测2 | 小测3 | 期末成绩 | 项目答辩 | 成绩 |
| 张三 | 12 | 15 | 13 | 28 | 24 | ? |
| 李四 | 7 | 11 | 10 | 19 | 21 | ? |
| 王五 | 12 | 14 | 11 | 27 | 23 | ? |
| 赵六 | 6 | 7 | 4 | 13 | 20 | ? |
| 刘七 | 13 | 14 | 13 | 27 | 25 | ? |
将数据储存为csv文件,格式如下
在从csv文件中读取数据,并选取可用的数据(排除姓名列)
KMeans算法涉及两点之间距离的计算,我们提前写好一个函数:输入两个点的坐标,返回两点之间的欧氏距离
e. 重复b~d,直到质心坐标不再变化或达到最大迭代次数
f. 返回标签列表
设置初始质心、标签列表、最大迭代次数
调用函数,整理结果
| 学生姓名 | 小测1 | 小测2 | 小测3 | 期末成绩 | 项目答辩 | 成绩 |
| 张三 | 12 | 15 | 13 | 28 | 24 | A |
| 李四 | 7 | 11 | 10 | 19 | 21 | B |
| 王五 | 12 | 14 | 11 | 27 | 23 | C |
| 赵六 | 6 | 7 | 4 | 13 | 20 | B |
| 刘七 | 13 | 14 | 13 | 27 | 25 | A |
| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) | Powered by Discuz! X2.5 |