knn分类器的实现和优化

本文深入探讨了K最近邻(KNN)分类器的实现过程,包括距离度量、K值选择及其对分类性能的影响。同时,文章讨论了KNN的优化策略,如kd树和球树等数据结构的应用,以及缓存邻居和权重调整等方法,旨在提高分类效率和准确性。
摘要由CSDN通过智能技术生成
#knn 的 具体实现步骤:
'''
1: 先导入数据
2:数据处理(标准化),分数据(x,y数据),测试集和训练集
3:然后进行处理(knn)的处理
4:评估结果
5:调试数据,当周围参照数据增大时的情况(交叉验证)
'''
#导入模块,数据计算的模块和处理csv 的模块
import  numpy as np
import  csv



dataset = "ionosphere.data"
#查看当前文档的位置
data = open("D:\\resu\\python_test\\打的程序\\程序\\ionosphere.data" , "r")
data = data.read()
#print(data)
#已知数据大小为 351行,34列。
X= np.zeros((351 , 34), dtype= 'float' )
#print(X) #此时只是建立了一个数据空间,并没有值
y = np.zeros((351 ,) , dtype = "bool"  )
#上面建立了数据集的模板 并没有数据集

''' 
1:开始加入数据集:
'''
with open(dataset ,"r") as imput_file:
    reder = csv.reader(imput_file)  #将文档以csv 的格式打开
    for i  ,row in enumerate(reder): # 将其标序号并一一枚举各个值
        data = [float(dataum) for dataum in row[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值