“_____鸢尾花识别_____“-------文章中有源码

简介: “_____鸢尾花识别_____“-------文章中有源码

实验目的

使用Python实现K近邻

实验原理

(1)计算测试与各个训练数据之间的距离;

(2)按照距离的递增关系进行排序;

(3)选取距离最小的K个点;

(4)确定前K个点所在类别出现的概率;

(5)返回前K个点中出现概率最高的类别作为测试数据的预测分类。

(1) 鸢尾花识别。

import numpy as np
import pandas as pd
def getdata(path):
    data=pd.read_csv(path,encoding='gbk')
    return np.array(data)
def getlength(data,target,k):
    temp=[]
    for i in data:
        temp.append(np.sum((i[:-1]-target)**2))
    #print(temp)
    #float ('inf')
    indexList=[]
    for i in range(k):
        indexList.append(np.argmin(temp))
        #temp[np.array(temp)]=('inf')
        temp[np.argmin(temp)] = np.max(temp)
    return indexList
def KNNs(data,indexList):
    dic={0:0,1:0,2:0}
    for i in indexList:
        dic[data[i][-1]]+=1
    Maxnum=0
    Maxindex=0
    for i in dic:
        if dic[i]>Maxnum:
            Maxnum=dic[i]
            Maxindex=i
    #print(dic)
    return Maxindex
if __name__=='__main__':
    dic = {0: 'setosa', 1: 'versicolor', 2: 'virginnica'}
    path='iris_training.csv'
    data= getdata(path)
    #print(data)
    target=np.array([5,3,1,0.5])
    try:
        while True:
            k = (input("请输入k(退出请输入quit):"))
            if k=='quit':
                print("退出成功")
                break
            k=int(k)
            #getlength(data,target,k)
            indexList=getlength(data,target,k)
            n=KNNs(data,indexList)
            print(dic[n])
    except Exception as e:
        print("输入出错,请重新输入")

image.png

目录
相关文章
|
人工智能 数据可视化 数据处理
快速在 PaddleLabel 标注的花朵分类数据集上展示如何应用 PaddleX 训练 MobileNetV3_ssld 网络
快速在 PaddleLabel 标注的花朵分类数据集上展示如何应用 PaddleX 训练 MobileNetV3_ssld 网络
778 0
快速在 PaddleLabel 标注的花朵分类数据集上展示如何应用 PaddleX 训练 MobileNetV3_ssld 网络
|
机器学习/深度学习 数据采集 人工智能
|
1月前
|
JSON 计算机视觉 数据格式
数据集学习笔记(一):常用检测、行为检测数据集
这篇文章是关于常用目标检测和行为检测数据集的介绍,包括CIFAR系列、COCO、VOC系列、TT100K和UCF101等数据集的详细信息和使用说明。
103 0
数据集学习笔记(一):常用检测、行为检测数据集
|
1月前
|
XML JSON 数据可视化
数据集学习笔记(六):目标检测和图像分割标注软件介绍和使用,并转换成YOLO系列可使用的数据集格式
本文介绍了labelImg和labelme两款图像标注工具的安装、使用、数据转换和验证方法,适用于目标检测和图像分割任务,支持YOLO等数据集格式。
234 2
数据集学习笔记(六):目标检测和图像分割标注软件介绍和使用,并转换成YOLO系列可使用的数据集格式
|
1月前
|
机器学习/深度学习 JSON 数据可视化
YOLO11-pose关键点检测:训练实战篇 | 自己数据集从labelme标注到生成yolo格式的关键点数据以及训练教程
本文介绍了如何将个人数据集转换为YOLO11-pose所需的数据格式,并详细讲解了手部关键点检测的训练过程。内容涵盖数据集标注、格式转换、配置文件修改及训练参数设置,最终展示了训练结果和预测效果。适用于需要进行关键点检测的研究人员和开发者。
204 0
|
6月前
|
机器学习/深度学习 算法框架/工具 计算机视觉
使用Python实现图像分类与识别模型
使用Python实现图像分类与识别模型
75 2
使用Python实现图像分类与识别模型
|
5月前
|
机器学习/深度学习 编解码 文字识别
【开源】轻松实现车牌检测与识别:yolov8+paddleocr【python源码+数据集】
【开源】轻松实现车牌检测与识别:yolov8+paddleocr【python源码+数据集】
|
5月前
|
机器学习/深度学习 存储 安全
基于YOLOv8深度学习的人脸面部口罩检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测
基于YOLOv8深度学习的人脸面部口罩检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测
|
6月前
|
机器学习/深度学习 数据可视化 数据库
R语言对MNIST数据集分析:探索手写数字分类
R语言对MNIST数据集分析:探索手写数字分类
|
数据采集 数据可视化 数据格式
3D检测数据集 DAIR-V2X-V 转为Kitti格式 | 可视化
本文分享在DAIR-V2X-V数据集中,将标签转为Kitti格式,并可视化3D检测效果。
202 0