python鸢尾花数据集knn_机器学习(基于Python) 重写Knn算法(鸢尾花数据集)

本文介绍如何用Python实现KNN算法,并通过鸢尾花数据集进行测试。详细步骤包括算法设计、程序实现及运行调试,旨在重写KNN算法,通过比较邻近数确定分类。
摘要由CSDN通过智能技术生成

一.问题描述

用Python语言实现机器学习KNN算法,并用鸢尾花数据集测试。

二.算法设计

1.算法流程图

5ef2116f7d00597036a81f7ecf2d571a.png

2.具体实现步骤

(1)定义一个My_KNN()函数实现KNN分类算法;

(2)函数参数设为鸢尾花的训练集和测试集;

(3)定义对应的三个列表用来存放测试数据与整个数据的欧氏距离;

(4)定义一个distance列表存放测试数据与所有训练数据的距离;

(5)定义三个整形变量分别表示三类鸢尾花与测试数据的邻近个数;

(6)调用math和numpy库中的函数计算测试数据与鸢尾花数据集的欧氏距离,并存入对应的列表,最后计算结束后,将distance列表按照升序重新排列;

(7)利用循环判断distance中的距离在哪一个列表中,即该类邻近个数自增,循环次数为k次;

(8)判断三类邻近个数的大小,个数最多的那一类即为测试数据的类别;

(9)利用循环判断测试集中正确的结果个数,并用公式计算出预测结果的准确性。

三.程序实现

# -*- coding: utf-8 -*-

"""

Created on Tue Oct 15 15:40:39 2019

@author: fanghejun

"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值