K近邻算法(一)
2024-09-04 09:24:16
K 近邻算法思想:
寻找该点周围最近的K个点。根据这K 个点的类别来判断该点的类别;
核心: 数据归一化。(在必要的时候必须进行数据归一化处理,防止某一特征在计算数据时占比较重)
计算欧拉距离 。 使用python中 np的向量相减后的平方再开根号
distances = []
for x_train in X_train:
d = sqrt(np.sum((x_train - x) ** 2))
distances.append(d)
或
distances = [sqrt(np.sum((x_train-x)**2)) for x_train in X_train]
比较欧拉距离。 获取距离由近到远的索引下标:
nearest = np.argsort(distances) #返回的是从小到大的对应索引
选择K个最近的,并统计类型。
topK_y = [y_train[i] for i in nearest[:k]] #选前k个
c = Counter(topK_y) #统计类型
print(c.most_common(1)[0][0]) #输出计数最高的那个元组中的值
最新文章
- 从啥也不会到可以胜任最基本的JavaWeb工作,推荐给新人的学习路线(二)
- python守护线程
- xampp下创建多个虚拟网站目录
- C# WebService动态调用
- maketrans translate
- poj 3463 最短路与次短路的方案数求解
- MyEclipse中配置自己的JRE和tomcat
- 2014值得期待的Erlang两本新书
- L7,too late
- json中文乱码问题
- 转发:招聘一个靠谱的 iOS
- 关于angularjs过滤器的小尝试
- angularjs 自定义filter
- PHP连接数据库、创建数据库、创建表的三种方式
- log4j不生成日志文件的问题
- Python_doc文件写入SQLite数据库
- eclipse 更改默认主题,重写默认滚动条样式(安装DevStyle主题插件)
- Aurora的安装和中文配置
- fillder---断言,更改提交数据
- DropDownList按照Gridview获取数据获取到的是定义格式