-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathintepreter_DM.py
54 lines (48 loc) · 1.51 KB
/
intepreter_DM.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import calculos as c
import os
import matplotlib.pyplot as plt
import numpy as np
movie="Men in black"
m="moviesdata"
g="actordata"
s='/'
apidata=os.listdir(m+s+movie)
actordata=os.listdir(g+s+movie)
print(movie)
print(apidata)
print(actordata)
DM=0.0 # 0.0 distancia minima posible
AM=0 # 1.0 angle maxim posible
x=[]
y=[]
while DM<2:
DM=DM+0.01
# DM=1.2
x.append(DM)
for unkownactor in apidata:
act=c.extraerSublistaArchivo(m+s+movie+s+unkownactor)
# print("\n")
# print('{} subcaras para el actor {}'.format(len(act),unkownactor.strip('.txt')))
for subactor in actordata:
currentactor=c.extraerSublistaArchivo(g+s+movie+s+subactor)
count=0
for subcara in act:
for caratest in currentactor:
if(c.similitudCoseno(caratest,subcara)>AM):
if(c.distanciaEuclidea(caratest,subcara)<DM):
count=count+1
if(count>0):
print('{} true per {}, {} vegades amb DM: {}'.format(subactor.strip('.txt'),unkownactor.strip('.txt'),count,DM))
y.append(count)
else:
y.append(0)
# pass
# print("no hi han cares valides per els coeficients AM : {} i DM: {} per l'actor {}".format(AM,DM,subactor.strip('.txt')))
# DM=50
# plt.style.use('bmh')
plt.plot(x,y)
plt.title(actordata[0].strip(".txt"))
plt.xlabel("Coeficiente DM")
plt.ylabel("Verdaderos positivos")
plt.grid()
plt.show()