机器学习第三课(sklearn接口)

文章介绍了如何利用Python的sklearn库实现KNN(K-NearestNeighbors)算法,包括数据准备、模型实例化、训练与预测过程,并提到了k值选择的重要性,建议采用交叉验证方法来确定合适的k值。此外,还展示了在电影类型预测问题上的应用例子。

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

一、sklearn基本知识

中文官网
英文官网
在这里插入图片描述

注意:sklearn第三方模块的安装 要用pip install scikit-learn

from sklearn.neighbors import KNeighborsClassifier
# 1 准备数据
# 训练集的特征数据 2维
x = [[-2],[-1],[2],[3],[4]]
# 训练集的目标数据 1维
y = [0,0,1,1,1]
# 预测数据 2维
z = [[1]]

# 2 调用接口
# 实例化对象 
# weights = "distance" 表示位置权重,即距离越近,权重越高
res = KNeighborsClassifier(n_neighbors=2,weights = "distance")
# 训练数据
res.fi t(x,y)
# 预测数据
res.predict(z)

二、调用sklearn接口实现KNN算法

问题:完成前面讲的 预测电影类型

from sklearn.neighbors import KNeighborsClassifier
import pandas as pd
# 1 获取数据
mv_data = pd.read_excel("电影数据.xlsx",sheet_name="Sheet1")
# 测试集的特征数据 注意:这里需要转换成array类型
feature_test = mv_data.loc[:5,["打斗次数","接吻次数"]].values
# 测试集的目标数据
target_test = mv_data.loc[:5,"电影类型"].values

# 2 调用sklearn接口
learn = KNeighborsClassifier(n_neighbors=3,weights="distance")
learn.fit(feature_test,target_test)
learn.predict([[5,29],[78,34]])

三、k值的选择

不能过小,也不能过大,采用 交叉验证 的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笔记本IT

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值