应用python实现k近邻算法(学生活跃表现数据实战)

使用python语言应用SKlearn工具包实现KNN算法。SKlearn中包含有很多现成的机器学习算法包,可大幅度降低使用者1编程难度与复杂度,节省项目开发时间与人力成本。

如上图所示的案例,进行KNN分类回归模型计算。KNN模型计算中,除K值的确定外,还有一个非常重要的计算,既样本点间的距离计算.距离计算的公式有很多,例如欧式距离,曼哈顿距离,切比雪夫距离,马氏距离等,我们本次应用欧式距离。例如,在二维空间内,欧式距离如式

数据准备完成以后,开始编写python下基于SKlearn组件的KNN实现

import numpy as np
import warnings
from sklearn import neighbors

def createDataSrt():
    dateutilSet = np.array(
    [[19,30], [30,40], [39,47], [40,52], [47,50], [50,55], [60,60], [62,65], [73,70],
    [75,82], [77,85], [90,95], [92,30]])
    labels = ['0', '0', '0', '0', '0', '0', '1', '1', '1', '1', '1', '1', '1']
    return dataSet, labels
def knnClassifier(dataSet, labels, teatData,k):
    knn = neighbors.KNeighborsClassifier(k)
    knn.fit(dataSet, labels)
    return knn.predict([teatData])
if __name__ == "_main_":
    dataSet, labels=createDataSrt()
    warnings.filters('ignore')
pred1=knnClassifier(dataSet, labels, [55,65] , 3)
print('k=3时,预测样本分类结果为:',pred1)
pred2=knnClassifier(dataSet, labels, [55,56], 7)
print('k=7时,预测样本分类结果为;',pred2)

 结果为:

k=3时,预测样本分类结果为:['1']
k=7时,预测样本分类结果为:['0']
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值