AI工程师成长之路-KNN分类算法实现

这篇博客记录了博主在阿里云大学学习KNN分类算法的过程,分享了鸢尾花数据集的获取及Python实现步骤。通过导入相关库、预处理数据、定义KNN类、构建训练和测试集,最终展示了考虑权重的测试结果,并用散点图进行可视化,以两个特征维度展示数据分布。
摘要由CSDN通过智能技术生成

本博文是博主在阿里云大学学习记录的笔记,未经博主允许禁止随意转载

数据集获取方法:

链接:https://pan.baidu.com/s/1b6Nc3-QmHhQjH_uxZg3WCQ 
提取码:ndv9

接下来将学习如何使用Python实现KNN分类算法。

说明:本实验的程序文件与数据在启动jupyter notebook后,就会在主目录中显示,可以直接打开查看并运行,但为了增加熟练度,达到最佳的学习效果,建议大家手动输入。

①导入程序运行所需的库。

import numpy as np
import pandas as pd

②读取鸢尾花数据集,并对数据集进行预处理。

# 读取鸢尾花数据集,header参数来指定标题的行。默认为0。如果没有标题,则使用None。
data = pd.read_csv(r"Iris.csv", header=0)
# 显示前n行记录。默认n的值为5。
# data.head()
# 显示末尾的n行记录。默认n的值为5。
#data.tail()
# 随机抽取样本。默认抽取一条,我们可以通过参数进行指定抽取样本的数量。
# data.sample(10)
# 将类别文本映射成为数值类型。
data["Species"] = data["Species"].map({"Iris-virginica": 0, "Iris-setosa": 1, "Iris-versicolor": 2})
# 删除不需要的Id列。
data.drop("Id", axis=1, inplace=True)
# data.duplicated().any()
# 查看数据集的记录数。
# len(data)
# 删除重复的记录。
data.drop_duplicates(inplace=True)
# len(data)
# 查看各个类别的鸢尾花具有多少条记录。
data["Species"].value_counts()

③定义KNN类,用于分类。类中定义两个预测方法,分为考虑权重与不考虑权重两种情况。

class KNN:
    """使用Python语言实现K近邻算法。(实现分类)"""
    
    def __init__(self, k):
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值