added two dimensional data analysis support

-added kmeansMkI_2d
-added calcdiff2d to dmlib
-added plzGenNS and ageGenNS  to dmtest to generate unshuffled testdata for kmeans 2d
This commit is contained in:
tchemn
2018-06-04 20:42:55 +02:00
parent aa43c93ae5
commit 667e7881cc
4 changed files with 195 additions and 17 deletions

View File

@@ -1,25 +1,34 @@
# Calculate the difference between two points giving the indexes of these data entries
def calcdiff(point1, point2):
if int(point2) > int(point1):
difference = int(point2) - int(point1)
else:
difference = int(point1) - int(point2)
# print("Datapoint: " + str(data[point1]) + " | Cluster: " + str(data[point2]) + " | Difference: " + str(difference))
return betrag(difference)
# Calculate the difference between two points giving the indexes of these xdata entries
import math
def calcdiff(point1, point2, data):
if int(point2) > int(point1):
difference = int(point2) - int(point1)
else:
difference = int(point1) - int(point2)
# print("Datapoint: " + str(xdata[point1]) + " | Cluster: " + str(xdata[point2]) + " | Difference: " + str(difference))
return betrag(difference)
def calcdiff2d(point1, point2):
point1 = [int(i) for i in point1]
point2 = [int(i) for i in point2]
difference = math.sqrt(((point2[0])-(point1[0]))**2+((point2[0])-(point1[0]))**2)
return betrag(difference)
# Get the absolute value of a number and returns it as int
def betrag(number):
if number < 0:
number = int((-2 * number) / 2)
return number
if number < 0:
number = int((-2 * number) / 2)
return number
# Determine the highest int value in an array and returns is as an int
def findHighest(data):
maximum = 0
for i in range(0, len(data)):
if int(data[i]) > maximum:
maximum = int(data[i])
return maximum
maximum = 0
for i in range(0, len(data)):
if int(data[i]) > maximum:
maximum = int(data[i])
return maximum
def pp_calcdiff(data, clusterpoint):
max_diff = 0
@@ -37,4 +46,4 @@ def pp_calcdiff_2(data, clusterpoint, clusterpoint_2):
if calcdiff(data[item], clusterpoint) + calcdiff(data[item], clusterpoint_2) > max_diff:
max_diff = calcdiff(data[item], clusterpoint)
new_cluster = data[item]
return new_cluster
return new_cluster