赞
踩
使用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']
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。