您的位置:首页 > 编程语言

knn代码

2015-09-15 22:39 513 查看
import operator
import numpy as np

class KNN:
def __init__(self, dataSet, labels):
self.minVals = dataSet.min(0)
self.ranges = dataSet.max(0) - self.minVals
self.normData = (dataSet - self.minVals) / self.ranges
self.labels = labels

def classify(self, inX, k):
diffs = np.array(self.normData) - (inX - self.minVals) / self.ranges;
distances = (diffs ** 2).sum(axis = 1) ** 0.5;
indexes = distances.argsort();
classCount = {}
for i in range(k):
label = self.labels[indexes[i]]
classCount[label] = classCount.get(label, 0) + 1
sortedClassCount = sorted(classCount.iteritems(), key = operator.itemgetter(1), reverse = True)
return sortedClassCount[0][0]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习代码