使用K近邻对iris数据集进行分类
听了好几年的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数据集进行分类相关推荐
- 用matlab实现用Bp神经网络对iris数据集进行分类(以及影响分类性能的参数条件)
数据集已上传,结尾链接下载即可!!! 一.实验内容 Iris鸢尾花卉数据集,是一类多重变量分析的数据集.数据集包含150个数据样本,分为3类,每类50个数据,每个数据包含4个属性,分别对应花萼长度,花 ...
- 利用SVM,sklearn对iris数据集进行分类
摘要 hello,又见面了,这次写的是New York university homework4 ,题目是SVM Classifier with different kernels 首先,了解一下数据 ...
- python 机器学习——K 近邻分类理论及鸢尾( Iris )数据集实例操作
K 近邻分类理论及鸢尾( Iris )数据集实例操作 一.K 近邻分类理论 二.K 近邻分类实例操作 (1)导入数据 划分训练集测试集 (3)数据标准化 (4)用 K 近邻法建立模型 (5)性能评估 ...
- 机器学习笔记2 – sklearn之iris数据集
前言 本篇我会使用scikit-learn这个开源机器学习库来对iris数据集进行分类练习. 我将分别使用两种不同的scikit-learn内置算法--Decision Tree(决策树)和kNN(邻 ...
- 支持向量机SVM Iris数据集 分类预测
目录 支持向量机对iris数据集进行分类预测 1. 基础概念 2. 实验步骤与分析 2.1 数据理解 2.2 数据读入 2.3 训练集和测试集划分 2.4 支持向量机 2.5 预测 2.6 ...
- 【统计学习方法】K近邻对鸢尾花(iris)数据集进行多分类
本文摘要 · 理论来源:[统计学习方法]第三章 K近邻 · 技术支持:pandas(读csv).collections.Counter(统计).numpy.sklearn.neighbors.KNei ...
- MATLAB实现k近邻学习(Iris数据集)
MATLAB实现kNN分类 简介 Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集.数据集包含150个数据样本,分为3类,每类50个数据,每个数据包含4个属性.可通过花萼长度,花萼宽度,花瓣长度 ...
- Iris鸢尾花卉数据集算法练习——PCA和K近邻分类器
本文章主要以sklearn中的Iris鸢尾花数据集为训练对象,练习了PCA和K-近邻算法的使用,以下为笔记内容: Iris数据集也叫安德森鸢尾花卉数据集,通过测量了三种不同花卉(山鸢尾.变色鸢尾和维吉 ...
- 从零开始用Python实现k近邻算法(附代码、数据集)
作者:Tavish Srivastava 翻译:王雨桐 校对:丁楠雅 本文约2000字,建议阅读8分钟. 本文将带领读者理解KNN算法在分类问题中的使用,并结合案例运用Python进行实战操作. 注意 ...
- 【机器学习入门】(1) K近邻算法:原理、实例应用(红酒分类预测)附python完整代码及数据集
各位同学好,今天我向大家介绍一下python机器学习中的K近邻算法.内容有:K近邻算法的原理解析:实战案例--红酒分类预测.红酒数据集.完整代码在文章最下面. 案例简介:有178个红酒样本,每一款红酒 ...
最新文章
- c# xml html标签,XML文件到html表(循环)C#
- 如何查找Power BI本地报表服务器产品密钥
- VB.NET Visual Basic
- 【飞鸽传书3.0】飞鸽传书3.0关键字布局
- 万里航行总舵手——业务测试架构的设计
- Python问题:ImportError: cannot import name ‘Template‘ from ‘string‘
- 字节跳动算法工程师总结:腾讯+字节+阿里面经真题汇总,含面试题+答案
- 新生看过来!如何购机?电脑选购相关知识!
- 在ROIC的框架下精读巴菲特的新作
- 100个常见的php面试题和答案分享,精选php面试题及答案
- CSS_浮动排版布局
- 悟空CRM-11.0正式开源发布!
- SR-ITM--融合超分辨率和逆色调映射(二)
- Git使用个人访问令牌提交代码到仓库
- 数学建模笔记——插值拟合模型(一)
- 数据工厂DateFactory简易使用教程
- aws SQS 队列管理
- 一步一步创建三维数字地球
- for的嵌套c语言用星号表示三角形ppt,C语言编程求助!“使用循环语句打印出星号三角形”(如下图)...
- active英语怎么读音_active(active用英语怎么读?)