day12--k近邻算法KNN
- k近邻算法的三个基本要素:
- [ 1] k值的选择
- [ 2] 距离度量
- [ 3] 分类决策规则
2.该算法的问题:该算法在分类时有个主要的不足是,当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的k个邻居中大容量类的样本占多数。
3.解决:不同的样本给予不同权重项。
4.对于该算法,做了如下实验:
#Author:Liu
import numpy as np
import operator
def createDataSet():
group = np.array([[1.0,1.1],[1.0,1.0],[0.0,0.0],[0,0.1]])
labels = [‘A’,‘A’,‘B’,‘B’]
return group,labels
def classify(inX,dataSet,labels,k):
dataSetsize = dataSet.shape[0]
diffMat = np.tile(inX,(dataSetsize,1))-dataSet #距离相减
sqDiffMat = diffMat2 #平方
sqDistances = sqDiffMat.sum(axis=1) #对每一行的距离进行求和
distance = sqDistances0.5 #开根号
sortedDistIndicies = distance.argsort()
classCount = {}
for i in range (k):
voteLabel = labels[sortedDistIndicies[i]]
classCount[voteLabel] = classCount.get(voteLabel,0)+1
sortedClassCount = sorted(classCount.items(),key=operator.itemgetter(1),reverse=True)
return sortedClassCount[0][0]
if name ==‘main’: #写主函数,调用上面写的分类器
group,labels = createDataSet()
test = classify([0.1,0.3],group,labels,3) #输入一个点,判断它的类别
print(test)
#注意:python3以后,都是item(),只有python2里才有iteritems()
day12--k近邻算法KNN相关推荐
- 基于KD树的K近邻算法(KNN)算法
文章目录 KNN 简介 KNN 三要素 距离度量 k值的选择 分类决策规则 KNN 实现 1,构造kd树 2,搜索最近邻 3,预测 用kd树完成最近邻搜索 K近邻算法(KNN)算法,是一种基本的分类与 ...
- k近邻算法(KNN)-分类算法
k近邻算法(KNN)-分类算法 1 概念 定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别. k-近邻算法采用测量不同特征值之间的 ...
- 01 K近邻算法 KNN
01 K近邻算法 KNN k近邻算法基础 等价于 scikit-learn中的机器学习算法封装 训练数据集,测试数据集 分类准确度 超参数 考虑距离权重 更多关于距离的定义 搜索明可夫斯基距离相应的p ...
- k近邻算法 (KNN)
k近邻算法 k近邻算法(KNN,K-NearestNeighbor)是一种基本分类和回归方法,监督学习算法,本质上是基于一种数据统计的方法: 核心思想:给定一个训练数据集,对新的输入实例,在训练数据集 ...
- 一文搞懂K近邻算法(KNN),附带多个实现案例
简介:本文作者为 CSDN 博客作者董安勇,江苏泰州人,现就读于昆明理工大学电子与通信工程专业硕士,目前主要学习机器学习,深度学习以及大数据,主要使用python.Java编程语言.平时喜欢看书,打篮 ...
- K近邻算法(KNN)原理小结
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 目录 1. KNN算法原理 2. KNN算法三要素 3. KNN算 ...
- K近邻算法KNN的简述
什么是KNN K近邻算法又称KNN,全称是K-Nearest Neighbors算法,它是数据挖掘和机器学习中常用的学习算法,也是机器学习中最简单的分类算法之一.KNN的使用范围很广泛,在样本量足够大 ...
- 机器学习-分类之K近邻算法(KNN)原理及实战
k近邻算法(KNN) 简介 KNN算法是数据挖掘分类技术中最简单的方法之一.它通过测量不同特征值之间的距离进行分类的.其基本思路为:如果一个样本在特征空间中的k个最近邻样本中的大多数属于某一个类别,则 ...
- 基于kd树的k近邻算法——KNN
1.简介 k近邻算法是机器学习中一种基本的分类与回归算法,对你没听错k近邻算法不仅可以用来做分类,还可以用于回归,英文全称为k-Nearest Neighbor简称k-NN.k近邻算法属于一种有监督学 ...
- 2 机器学习 K近邻算法(KNN) 学习曲线 交叉验证 手写数字识别
机器学习 1 K-近邻算法介绍 1.1 分类问题 分类问题:根据已知样本的某些特征,判断一个未知样本属于哪种样本类别. 与回归问题相比,分类问题的输出结果是离散值,用于指定输入的样本数据属于哪个类别. ...
最新文章
- 如何清除Git中的本地工作目录? [重复]
- mybatis like的用法
- mysql 执行计划 优化_执行计划
- 4月25日 python学习总结 互斥锁 IPC通信 和 生产者消费者模型
- Struts 1高级应用
- Js数组去重的多种方法
- 实战| JSP Servlet Mysql学生信息管理系统
- x86下SylixOS引导过程分析
- 计算机网络系统有哪些核心技术,区块链核心技术体系架构的网络层主要包括什么...
- 初一年级上学期计算机课知识总结,七年级信息技术课程上册.doc
- PAT乙级 1068 万绿丛中一点红 (20 分) Java 实现
- Linux(Ubuntu 22.04)学习笔记——让虚拟机共享主机上的文件夹
- 【技巧总结】理解XXE从基础到盲打
- CM3学习笔记(一)存储器系统
- Linux打印命令lp详解
- 大数据时代下:标签体系的应用
- 隐马尔科夫模型一(概念理解)
- IS61LV25616芯片技术手册
- java最基本的基础知识
- 【分解质因数】合数的质因数分解
热门文章
- java 避免重定向_java – 避免循环重定向使用HttpClient 4.1.1
- java image 内存不足_一招解决游戏内存不足的神器Caffeine
- php 高德地图创建标注,高德地图 JS API的覆盖物—编辑矢量图形
- demo连接php,PHP获取网页所有连接的方法(附demo源码下载)
- mysql中的编号怎么自动加_MySQL中实现ID编号自动增加的方法
- js 加入收藏,设为首页
- 使用FileWriter和BufferedWriter向文本文件中写信息
- LIO-SAM探秘第一章之论文解析
- 优先队列及BFS应用
- 多线程和多进程的区别