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

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

实验目的

使用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

目录
相关文章
|
2月前
|
算法 Python
yolov5障碍物识别-雪糕筒识别(代码+教程)
yolov5障碍物识别-雪糕筒识别(代码+教程)
59 1
|
机器学习/深度学习 数据采集 人工智能
|
5天前
|
机器学习/深度学习 算法框架/工具 计算机视觉
使用Python实现图像分类与识别模型
使用Python实现图像分类与识别模型
17 2
使用Python实现图像分类与识别模型
|
1月前
|
机器学习/深度学习 编解码 算法
Python实现视频人脸检测识别功能
Python实现视频人脸检测识别功能
37 0
|
5月前
|
数据采集 数据可视化 数据格式
3D检测数据集 DAIR-V2X-V 转为Kitti格式 | 可视化
本文分享在DAIR-V2X-V数据集中,将标签转为Kitti格式,并可视化3D检测效果。
92 0
|
7月前
|
机器学习/深度学习 算法 算法框架/工具
机器学习项目实战识别mnist数据集识别图片数字
机器学习项目实战识别mnist数据集识别图片数字
77 0
|
9月前
|
机器学习/深度学习 存储 自然语言处理
使用特征包方法进行图像类别分类
使用特征包方法进行图像类别分类。这种技术通常也被称为词袋。视觉图像分类是为受测图像分配类别标签的过程。类别可能包含代表几乎任何东西的图像,例如狗、猫、火车、船。
61 0
|
XML 机器学习/深度学习 计算机视觉
利用OpenCV检测人脸(python实现)
利用OpenCV检测人脸(python实现)
135 0
|
机器学习/深度学习 算法 大数据
秒懂算法 | MNIST手写体识别
来源于谷歌的TensorFlow是目前Python编程领域最热门的深度学习框架。Google不仅是大数据和云计算的领导者,在机器学习和深度学习上也有很好的实践和积累,在2015年年底开源了内部使用的深度学习框架TensorFlow。
187 0
秒懂算法  | MNIST手写体识别
|
机器学习/深度学习 计算机视觉
使用python3.7和opencv4.1来实现人脸识别和人脸特征比对以及模型训练
OpenCV4.1已经发布将近一年了,其人脸识别速度和性能有了一定的提高,这里我们使用opencv来做一个实时活体面部识别的demo
使用python3.7和opencv4.1来实现人脸识别和人脸特征比对以及模型训练