KNN算法(一个小案例)--实现大学生寝室推荐

如何实现

1.我们将大学生的各个特征进行信息收集,例如:旅行里程、游戏时间、学习时间。
2.然后利用KNN算法将信息进行分类,以此实现宿舍的推荐

一、KNN是什么?

KNN(K-Nearest Neighbor)算法是机器学习算法中最基础、最简单的算法之一。它既能用于分类,也能用于回归。KNN通过测量不同特征值之间的距离来进行分类。
简单来说:就是将一个新的预测数据作为样本放入特征空间中,将其划分到与他邻近的,频率最高的类别。
在这里插入图片描述

我们将往届学生进行问卷调查,收集他们每天的平均步数、玩游戏时间以及学习时间。然后将他们进行分类,爱玩的同学为1,一般的同学为2,爱学习的同学为3.
这样我们就可以根据新生的特征值来对他们进行宿舍推荐。

二、实现

1.具体代码

# data_txt就是我接受的上面图片的信息
data_feature = data_txt[:, :-1]  # 特征值:步数,游戏/学习时间
data_label = data_txt[:, -1]  # 分类标签
neigh = KNeighborsClassifier(n_neighbors=3)  # 将用图片更直观展示
neigh.fit(data, data_classifier)  # 将数据进行训练

爱心❤为预测值
n_neighbors=3(k=3)
选取最邻近的三个样本,取权重最大的。
在这里插入图片描述

2.样本预测

对新生的样本特征进行预测,如

print(neigh.predict([[13265, 0.3, 0.05]]))
print(neigh.predict([[3265, 0.05, 0.25]]))
print(neigh.predict([[9265, 0.2, 0.08]]))

# 结果
[1.]
[3.]
[2.]

这样我们就可以根据新生的特征值来为他们推荐宿舍啦

总结

KNN算法也有很多优缺点
1.优点:
(1)简单,易于理解,易于实现,无需训练;
(2)适合对稀有事件进行分类;
(3)对异常值不敏感。
2.缺点:
(1)样本容量比较大时,计算时间很长;
(2)不均衡样本效果较差。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值