栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

机器学习——KNN算法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

机器学习——KNN算法

KNN算法 机器学习的分类算法 基本思想

一个样本与数据集中的k个样本最相似 如果这k个样本大多数属于某一类 则该样本也属于这一类

用游戏得分数据编写实例

import math
import numpy
import operator
def createDataSet():
 playerdata {1: [633, 黄金 ],
 2: [426, 黄金 ],
 3: [315, 白银 ],
 4: [422, 白银 ],
 5: [753, 白金 ],
 6: [862, 钻石 ],
 7: [456, 白银 ],
 8: [675, 白金 ],
 9: [1358, 大师 ],
 10: [985, 钻石 ],
 11: [765, 白金 ],
 12: [554, 黄金 ],
 13: [113, 青铜 ],
 14: [102, 青铜 ],
 15: [151, 青铜 ],
 x [233]
 KNN []
 for key, v in playerdata.items():
 d math.sqrt((x[0] - v[0]) ** 2 )
 KNN.append([key, round(d, 2)])
 KNN.sort(key lambda dis: dis[1])
 print(KNN)
 KNN KNN[:5]
 labels { 青铜 : 0, 白银 : 0, 黄金 : 0, 白金 : 0, 钻石 : 0, 大师 : 0}
 for s in KNN:
 label playerdata[s[0]]
 labels[label[1]] 1
 labels sorted(labels.items(), key lambda l: l[1], reverse True)
 print(labels, labels[0][0], sep n )
createDataSet()

解释

输入样本

 playerdata {1: [633, 黄金 ],
 2: [426, 黄金 ],
 3: [315, 白银 ],
 4: [422, 白银 ],
 5: [753, 白金 ],
 6: [862, 钻石 ],
 7: [456, 白银 ],
 8: [675, 白金 ],
 9: [1358, 大师 ],
 10: [985, 钻石 ],
 11: [765, 白金 ],
 12: [554, 黄金 ],
 13: [113, 青铜 ],
 14: [102, 青铜 ],
 15: [151, 青铜 ],
 }

 

 设置样本

 x [233]

设置KNN算法距离计算公式并引入数组存储

KNN []
 for key, v in playerdata.items():
 d math.sqrt((x[0] - v[0]) ** 2 )
 KNN.append([key, round(d, 2)])

排序经过计算之后的距离数组并选取K 5

KNN.sort(key lambda dis: dis[1])
 print(KNN)
 KNN KNN[:5]

设置各段位数据 对5个最近的数据集进行匹配 输出匹配最多次的段位

labels { 青铜 : 0, 白银 : 0, 黄金 : 0, 白金 : 0, 钻石 : 0, 大师 : 0}
 for s in KNN:
 label playerdata[s[0]]
 labels[label[1]] 1
 labels sorted(labels.items(), key lambda l: l[1], reverse True)
 print(labels, labels[0][0], sep n )

结束

代码运行结果为

[[3, 82.0], [15, 82.0], [13, 120.0], [14, 131.0], [4, 189.0], [2, 193.0], [7, 223.0], [12, 321.0], [1, 400.0], [8, 442.0], [5, 520.0], [11, 532.0], [6, 629.0], [10, 752.0], [9, 1125.0]]
[( 青铜 , 3), ( 白银 , 2), ( 黄金 , 0), ( 白金 , 0), ( 钻石 , 0), ( 大师 , 0)]
青铜

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/268307.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号