Exemplo n.º 1
0
#!/usr/bin/env python3
# KMeansMapper.py

import sys
from KMeansMapper import centerList, distanceOfTwoProperty

if __name__ == "__main__":
    for line in sys.stdin:
        val = [float(i) for i in line.strip().split(",")[1:24*7+1]]
        dists = [distanceOfTwoProperty(val, center) for center in centerList]
        center_id, distance = min(enumerate(dists), key=lambda x:x[1])
        print("%s,%s" % (line.strip().split(",")[0], center_id))
import random

from KMeansMapper import distanceOfTwoProperty

try:
    from foundCenters import centerList
except ImportError:
    centerList = []

def parse(line):
    return [float(i) for i in line.strip().split(",")[1:24*7+1]]

if __name__ == "__main__":
    if not centerList:
        print("centerList = " + str([parse(next(sys.stdin))]))
        sys.exit()
    distances = []
    max_distance = 0
    fCenter = None
    for line in sys.stdin:
        line = parse(line)
        if line in centerList:
            continue
        dists = [distanceOfTwoProperty(line, center) for center in centerList]
        center_id, distance = min(enumerate(dists), key=lambda x:x[1])
        if distance > max_distance:
            max_distance = distance
            fCenter = line
    centerList.append(fCenter)
    print("centerList = " + str(centerList))