Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- import operator
- import math
- def euclideanDistance(data_set1, data_set2, length):
- distance = 0
- for x in range(length):
- distance += pow((data_set1[x] - data_set2[x]), 2)
- return math.sqrt(distance)
- #k-nn regression (k-nearest neighbors algorithm) using the euclidean distance
- def knnR(training_set, test_set, k, length, colTarget):
- distances = []
- avg = 0
- sum_avg = 0
- for x in range(len(training_set)):
- dist = euclideanDistance(test_set, training_set[x], length)
- distances.append((training_set[x], dist))
- distances.sort(key=operator.itemgetter(1))
- neighbors = []
- for x in range(k):
- neighbors.append(distances[x][0])
- #Average calculation
- for n in range(len(neighbors)):
- sum_avg += neighbors[n][colTarget]
- avg = sum_avg/len(neighbors)
- return avg
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement