KNN实战_改进约会网站的配对效果

本文通过KNN算法改进约会网站的配对效果,详细介绍了数据读取、标准化、K-邻近算法实现及测试。使用sklearn库的KNeighborsClassifier能简化K-邻近算法的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这次用KNN算法实战了改进约会网站的配对效果,将代码和思路记录下来作为以后思考和改进的模版,其中③K-临近算法实现代码可以用sklearn中的KNeighborsClassifier()代替
import numpy as np
import operator
from sklearn.neighbors import KNeighborsClassifier
import matplotlib.pyplot as plt
#①从文本中读取数据并转化成数据(group)和标签(labels)
def DataSet(filename):
    fr=open(filename)   #打开文本
    lines=fr.readlines() #逐行读取数据存放在lines中,形式为["","","",...""] 1000*1
    number_of_lines=len(lines)  #lines中数据的个数,即文本中的行数,本题为1000
    original_group=np.zeros((number_of_lines,3)) #创建存放数据的全零初始数组,3为参数的个数:即每年飞行里程数;玩游戏百分比,吃冰淇凌数量
    original_labels=[] #创建存放标签的空初始数组
    print(original_group)
    print(original_labels)
    index = 0 #改变index将不同行的数据存入初始数组
    for line in lines: #固定用法,逐行读取数据
        line=line.strip() #去除每行数据开头和结尾的空格符
        line=line.split("\t") #通过空格符将每行数据分割成元素列表。这里列表有4个元素,例子(第一行):['40920', '8.326976', 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值