sklearn.neighbors 模块中使用 KNeighborsClassifier

1 篇文章 1 订阅
from sklearn.neighbors import KNeighborsClassifier

X = [[0], [1], [2], [3], [4], [5], [6], [7], [8]]
y = [0, 0, 0, 1, 1, 1, 2, 2, 2]

neigh = KNeighborsClassifier(n_neighbors=3)
neigh.fit(X, y)
#fit函数 使用X作为训练数据,y作为目标值(类似于标签)来拟合模型。
print(neigh.predict([[1.1]]))
##这里预测使用的值是1.1
##得到的结果是 【0】
#表明1.1应该在0这个类里面
print(neigh.predict([[1.6]]))
print(neigh.predict([[5.2]]))
print(neigh.predict([[5.8]]))
print(neigh.predict([[6.2]]))

 

最开始我 是被这骚操作给震惊了。居然直接 一个fit就完事了。。

 说下我个人的理解

首先是创建一个K临近算法的模板(临近数为3)

然后传入的,也就是fit的X和Y。应该保持N是一样的

比如  x是1*N*1, Y是1 * N 

再举个例子 

from sklearn.neighbors import KNeighborsClassifier

X = [[0,1], [1,3], [2,2], [3,8], [4,6], [5,9], [6,9], [7,9], [8,9]]
y = [0, 0, 0, 1, 1, 1, 2, 2, 2]

neigh = KNeighborsClassifier(n_neighbors=3)
neigh.fit(X, y)
#fit函数 使用X作为训练数据,y作为目标值(类似于标签)来拟合模型。
print(neigh.predict([[1.1,2.2]]))
##这里预测使用的值是1.1  ,  2.2
##得到的结果是 【0】
#表明1.1应该在0这个类里面

print(neigh.predict([[9.1,7.2]]))
##这里预测使用的值是9.1  ,  7.2
##得到的结果是 【2】
#表明9.1 7.2应该在2这个类里面

 

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值