1. 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 = sqDistances
0.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相关推荐

  1. 基于KD树的K近邻算法(KNN)算法

    文章目录 KNN 简介 KNN 三要素 距离度量 k值的选择 分类决策规则 KNN 实现 1,构造kd树 2,搜索最近邻 3,预测 用kd树完成最近邻搜索 K近邻算法(KNN)算法,是一种基本的分类与 ...

  2. k近邻算法(KNN)-分类算法

    k近邻算法(KNN)-分类算法 1 概念 定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别. k-近邻算法采用测量不同特征值之间的 ...

  3. 01 K近邻算法 KNN

    01 K近邻算法 KNN k近邻算法基础 等价于 scikit-learn中的机器学习算法封装 训练数据集,测试数据集 分类准确度 超参数 考虑距离权重 更多关于距离的定义 搜索明可夫斯基距离相应的p ...

  4. k近邻算法 (KNN)

    k近邻算法 k近邻算法(KNN,K-NearestNeighbor)是一种基本分类和回归方法,监督学习算法,本质上是基于一种数据统计的方法: 核心思想:给定一个训练数据集,对新的输入实例,在训练数据集 ...

  5. 一文搞懂K近邻算法(KNN),附带多个实现案例

    简介:本文作者为 CSDN 博客作者董安勇,江苏泰州人,现就读于昆明理工大学电子与通信工程专业硕士,目前主要学习机器学习,深度学习以及大数据,主要使用python.Java编程语言.平时喜欢看书,打篮 ...

  6. K近邻算法(KNN)原理小结

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 目录 1. KNN算法原理 2. KNN算法三要素 3. KNN算 ...

  7. K近邻算法KNN的简述

    什么是KNN K近邻算法又称KNN,全称是K-Nearest Neighbors算法,它是数据挖掘和机器学习中常用的学习算法,也是机器学习中最简单的分类算法之一.KNN的使用范围很广泛,在样本量足够大 ...

  8. 机器学习-分类之K近邻算法(KNN)原理及实战

    k近邻算法(KNN) 简介 KNN算法是数据挖掘分类技术中最简单的方法之一.它通过测量不同特征值之间的距离进行分类的.其基本思路为:如果一个样本在特征空间中的k个最近邻样本中的大多数属于某一个类别,则 ...

  9. 基于kd树的k近邻算法——KNN

    1.简介 k近邻算法是机器学习中一种基本的分类与回归算法,对你没听错k近邻算法不仅可以用来做分类,还可以用于回归,英文全称为k-Nearest Neighbor简称k-NN.k近邻算法属于一种有监督学 ...

  10. 2 机器学习 K近邻算法(KNN) 学习曲线 交叉验证 手写数字识别

    机器学习 1 K-近邻算法介绍 1.1 分类问题 分类问题:根据已知样本的某些特征,判断一个未知样本属于哪种样本类别. 与回归问题相比,分类问题的输出结果是离散值,用于指定输入的样本数据属于哪个类别. ...

最新文章

  1. 如何清除Git中的本地工作目录? [重复]
  2. mybatis like的用法
  3. mysql 执行计划 优化_执行计划
  4. 4月25日 python学习总结 互斥锁 IPC通信 和 生产者消费者模型
  5. Struts 1高级应用
  6. Js数组去重的多种方法
  7. 实战| JSP Servlet Mysql学生信息管理系统
  8. x86下SylixOS引导过程分析
  9. 计算机网络系统有哪些核心技术,区块链核心技术体系架构的网络层主要包括什么...
  10. 初一年级上学期计算机课知识总结,七年级信息技术课程上册.doc
  11. PAT乙级 1068 万绿丛中一点红 (20 分) Java 实现
  12. Linux(Ubuntu 22.04)学习笔记——让虚拟机共享主机上的文件夹
  13. 【技巧总结】理解XXE从基础到盲打
  14. CM3学习笔记(一)存储器系统
  15. Linux打印命令lp详解
  16. 大数据时代下:标签体系的应用
  17. 隐马尔科夫模型一(概念理解)
  18. IS61LV25616芯片技术手册
  19. java最基本的基础知识
  20. 【分解质因数】合数的质因数分解

热门文章

  1. java 避免重定向_java – 避免循环重定向使用HttpClient 4.1.1
  2. java image 内存不足_一招解决游戏内存不足的神器Caffeine
  3. php 高德地图创建标注,高德地图 JS API的覆盖物—编辑矢量图形
  4. demo连接php,PHP获取网页所有连接的方法(附demo源码下载)
  5. mysql中的编号怎么自动加_MySQL中实现ID编号自动增加的方法
  6. js 加入收藏,设为首页
  7. 使用FileWriter和BufferedWriter向文本文件中写信息
  8. LIO-SAM探秘第一章之论文解析
  9. 优先队列及BFS应用
  10. 多线程和多进程的区别