Ashley Goluoglu
add files from pantelis/IDNN
96283ff
raw
history blame contribute delete
527 Bytes
import math
def sampleStandardDeviation(x):
"""calculates the sample standard deviation"""
sumv = 0.0
for i in x:
sumv += (i) ** 2
return math.sqrt(sumv / (len(x) - 1))
def pearson(x, y):
"""calculates the PCC"""
scorex, scorey = [], []
for i in x:
scorex.append((i) / sampleStandardDeviation(x))
for j in y:
scorey.append((j) / sampleStandardDeviation(y))
# multiplies both lists together into 1 list (hence zip) and sums the whole list
return (sum([i * j for i, j in zip(scorex, scorey)])) / (len(x) - 1)