应用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']

你可能感兴趣的:(python,近邻算法,机器学习)