听了好几年的K近邻算法 今天终于接触到了

原理很简单 讲样本映射为多维空间中的点

无标签新样本 由空间中与其最近的K个点中数量最多的标签来定义

以下为暴力实现 高效算法留坑

from sklearn import datasetsdef cmp(elem):return elem[0]iris=datasets.load_iris()data=iris.data
target=iris.target
num_data,num_feature=data.shape
num_target=len(iris.target_names)data_train,target_train=[],[]#训练集大小为120
data_test,target_test=[],[]#测试集大小为30
for i in range(num_data):if i%5!=0:data_train.append(data[i])target_train.append(target[i])else:data_test.append(data[i])target_test.append(target[i])
num_train,num_test=len(data_train),len(data_test)K=int(10)#只考虑最近的10个邻居
#P=2
count=int(0)for i in range(num_test):list=[]for j in range(num_train):val=0.0for k in range(num_feature):val+=(data_test[i][k]-data_train[j][k])*(data_test[i][k]-data_train[j][k])val=val**0.5"""for k in range(num_feature):val+=abs(data_test[i][k]-data_train[j][k])"""tmp=[]tmp.append(val)tmp.append(target_train[j])list.append(tmp)list.sort(key=cmp)vote=[]for j in range(num_target):vote.append(int(0))for j in range(K):id=int(list[j][1])vote[id]=vote[id]+1maxx,ans=int(-1),int(-1)for j in range(num_target):if maxx<vote[j]:maxx,ans=vote[j],jif ans==target_test[i]:count=count+1print(count,num_test)

使用K近邻对iris数据集进行分类相关推荐

  1. 用matlab实现用Bp神经网络对iris数据集进行分类(以及影响分类性能的参数条件)

    数据集已上传,结尾链接下载即可!!! 一.实验内容 Iris鸢尾花卉数据集,是一类多重变量分析的数据集.数据集包含150个数据样本,分为3类,每类50个数据,每个数据包含4个属性,分别对应花萼长度,花 ...

  2. 利用SVM,sklearn对iris数据集进行分类

    摘要 hello,又见面了,这次写的是New York university homework4 ,题目是SVM Classifier with different kernels 首先,了解一下数据 ...

  3. python 机器学习——K 近邻分类理论及鸢尾( Iris )数据集实例操作

    K 近邻分类理论及鸢尾( Iris )数据集实例操作 一.K 近邻分类理论 二.K 近邻分类实例操作 (1)导入数据 划分训练集测试集 (3)数据标准化 (4)用 K 近邻法建立模型 (5)性能评估 ...

  4. 机器学习笔记2 – sklearn之iris数据集

    前言 本篇我会使用scikit-learn这个开源机器学习库来对iris数据集进行分类练习. 我将分别使用两种不同的scikit-learn内置算法--Decision Tree(决策树)和kNN(邻 ...

  5. 支持向量机SVM Iris数据集 分类预测

    目录 支持向量机对iris数据集进行分类预测 1. 基础概念 2. 实验步骤与分析 2.1  数据理解 2.2  数据读入 2.3  训练集和测试集划分 2.4  支持向量机 2.5  预测 2.6  ...

  6. 【统计学习方法】K近邻对鸢尾花(iris)数据集进行多分类

    本文摘要 · 理论来源:[统计学习方法]第三章 K近邻 · 技术支持:pandas(读csv).collections.Counter(统计).numpy.sklearn.neighbors.KNei ...

  7. MATLAB实现k近邻学习(Iris数据集)

    MATLAB实现kNN分类 简介 Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集.数据集包含150个数据样本,分为3类,每类50个数据,每个数据包含4个属性.可通过花萼长度,花萼宽度,花瓣长度 ...

  8. Iris鸢尾花卉数据集算法练习——PCA和K近邻分类器

    本文章主要以sklearn中的Iris鸢尾花数据集为训练对象,练习了PCA和K-近邻算法的使用,以下为笔记内容: Iris数据集也叫安德森鸢尾花卉数据集,通过测量了三种不同花卉(山鸢尾.变色鸢尾和维吉 ...

  9. 从零开始用Python实现k近邻算法(附代码、数据集)

    作者:Tavish Srivastava 翻译:王雨桐 校对:丁楠雅 本文约2000字,建议阅读8分钟. 本文将带领读者理解KNN算法在分类问题中的使用,并结合案例运用Python进行实战操作. 注意 ...

  10. 【机器学习入门】(1) K近邻算法:原理、实例应用(红酒分类预测)附python完整代码及数据集

    各位同学好,今天我向大家介绍一下python机器学习中的K近邻算法.内容有:K近邻算法的原理解析:实战案例--红酒分类预测.红酒数据集.完整代码在文章最下面. 案例简介:有178个红酒样本,每一款红酒 ...

最新文章

  1. c# xml html标签,XML文件到html表(循环)C#
  2. 如何查找Power BI本地报表服务器产品密钥
  3. VB.NET Visual Basic
  4. 【飞鸽传书3.0】飞鸽传书3.0关键字布局
  5. 万里航行总舵手——业务测试架构的设计
  6. Python问题:ImportError: cannot import name ‘Template‘ from ‘string‘
  7. 字节跳动算法工程师总结:腾讯+字节+阿里面经真题汇总,含面试题+答案
  8. 新生看过来!如何购机?电脑选购相关知识!
  9. 在ROIC的框架下精读巴菲特的新作
  10. 100个常见的php面试题和答案分享,精选php面试题及答案
  11. CSS_浮动排版布局
  12. 悟空CRM-11.0正式开源发布!
  13. SR-ITM--融合超分辨率和逆色调映射(二)
  14. Git使用个人访问令牌提交代码到仓库
  15. 数学建模笔记——插值拟合模型(一)
  16. 数据工厂DateFactory简易使用教程
  17. aws SQS 队列管理
  18. 一步一步创建三维数字地球
  19. for的嵌套c语言用星号表示三角形ppt,C语言编程求助!“使用循环语句打印出星号三角形”(如下图)...
  20. active英语怎么读音_active(active用英语怎么读?)

热门文章

  1. uniapp中使用moment.js日期插件
  2. 错落有致——集团企业信息化规划原则
  3. 2.1 px30驱动移植-DRM驱动框架简介
  4. K3 Cloud 常用语法及常见异常
  5. 从天猫和支付宝身上学习opcity与rgba
  6. python微信所有代码_只需7行Python代码玩转微信自动聊天
  7. Linux系统分区概念
  8. GD32f103介绍第一章
  9. 什么是人工智能?(科普)
  10. 通俗易懂的TextCNN