第L4周:机器学习|K-邻近算法模型

  • 🍨 本文为🔗365天深度学习训练营 中的学习记录博客
  • 🍖 原作者:K同学啊
    这就是KNN(k-近邻)算法:在判定一个未知事物时,可以观察离它最近的几个样本。
    K-近邻算法是一种基本分类和回归方法。
    其核心思想是通过测量不同数据点之间的距离(例如欧几里得距离),找到输入样本最近的 k 个邻居,然后根据这 k 个邻居的信息来进行预测。

问题简介

背景: 海伦一直使用在线约会网站寻找适合自己的约会对象。尽管约会网站会推荐不同的人选,但她没有从中找到喜欢的人。经过一番总结,她发现曾交往过三种类型的人:
● ①不喜欢的人;
● ②魅力一般的人;
● ③极具魅力的人。
她现在总结好的数据中(即训练集)包含三种特征:
● ①每年获得的飞行常客里程数
● ②玩视频游戏所耗时间百分比
● ③每周消费的冰淇淋公升数
她希望根据现有的数据来判断一个陌生男人会被她归到哪一类。

导入数据

数据标签详解:
● 0:每年获得的飞行常客里程数
● 1:玩视频游戏所耗时间百分比
● 2:每周消费的冰淇淋公升数
● 3:人物类别(不喜欢的人、魅力一般的人、极具魅力的人)

数据集:

import pandas as pd

data=pd.read_table('../data/datingTestSet2.txt',
                   sep='\t',
                   header=None)

data.head()

在这里插入图片描述

X = data.iloc[:,:3]
y = data.iloc[:,3]

X 是一个包含数据集的特征(输入)的 DataFrame,这里你通过 data.iloc[:,:3] 来选择数据集的前 3 列(从 0 到 2 列)。
y 是目标变量(输出),你通过 data.iloc[:,3] 来选择数据集的第 4 列(索引为 3 的列)作为标签。

将数据集分成训练集和测试集

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, 
                                                    test_size=0.25, 
                                                    random_state=3)

K-邻近算法模型

from sklearn.neighbors import KNeighborsClassifier

knc = KNeighborsClassifier()
knc.fit(X_train, y_train)

结果预测

data["预测结果"] = knc.predict(data.iloc[:,:3])
data.head(10)

在这里插入图片描述

模型评分

scoreK = knc.score(X_test,y_test)

print(scoreK)

0.796

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值