summaryrefslogtreecommitdiffstats
path: root/data/combined/graphs/plots.py
blob: 98b9bc5a6ae67683591097f29d74adda733d9a33 (plain)
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#! /usr/bin/python

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import sys
import os
import scipy

out_dir = sys.argv[1]


#limbs distribution
plt.cla()
data = np.loadtxt("../limbs-avg-zdiff/data.csv",delimiter=",")
data = data[#(data[:,1] == 25) 
             ((data != -1).all(1))
            & (data[:,4]>2)
            & (data[:,4]<3)]
data = data[:,7:]*100
mean = data.mean(0)
var = data.std(0)
for i in range(len(mean)):
    plt.subplot(3,3,i+1)
    n,b,p = plt.hist(data[:,i],bins=50,normed=1)
    plt.plot(b,mlab.normpdf(b,mean[i],var[i]))
plt.savefig(os.path.join(out_dir,"limbs.pdf"))

#frames distribution
plt.cla()
x = np.loadtxt("frames.txt",usecols=(0,))
y = range(1,len(x)+1)
width=0.8
plt.bar(y,x/x.sum()*100,width=width)
plt.xlim(0.8,26)
plt.xticks([i+width/2. for i in range(1,len(x),5)], range(1,len(x),5))
plt.xlabel("Individual")
plt.ylabel("Frame ratio [%]")
plt.ylim(0,17)
ax = plt.gca()
plt.savefig(os.path.join(out_dir,"frames.pdf"))

l = ["3","5","10","all"]

#10-fold, naive
plt.cla()
#ax = plt.subplot(121)
plt.axis([0,100,50,100])
#ax.set_aspect(2)
for i in l:
    x,y = np.loadtxt(i+"_nb_off.mat",unpack=True)
    plt.plot(100*x,100*y,label="$n_p=$ "+i,linewidth=0.8)
    plt.xlabel("Recall [%]")
    plt.ylabel("Precision [%]")
    plt.legend(loc="best")
plt.savefig(os.path.join(out_dir,"offline-nb.pdf"))
#10-fold, SHT
#ax = plt.subplot(122)
#plt.axis([0,100,50,100])
#ax.set_aspect(2)
plt.cla()
for i in l:
    x,y = np.loadtxt(i+"_sht_off.mat",unpack=True)
    plt.plot(100*x,100*y,label="$n_p=$ "+i,linewidth=0.8)
    plt.xlabel("Recall [%]")
    plt.ylabel("Precision [%]")
    plt.legend(loc="best")

plt.axis([0,100,50,100])
plt.savefig(os.path.join(out_dir,"offline-sht.pdf"))

#online,NB
plt.cla()
for i in l:
    x,y = np.loadtxt(i+"_nb_on.mat",unpack=True)
    plt.plot(100*x,100*y,label="$n_p=$ "+i,linewidth=0.8,markersize=4)
    plt.xlabel("Recall [%]")
    plt.ylabel("Precision [%]")
    plt.legend(loc="best")
plt.savefig(os.path.join(out_dir,"online-nb.pdf"))
#online,SHT
plt.cla()
for i in l:
    x,y = np.loadtxt(i+"_sht_on.mat",unpack=True)
    plt.plot(100*x,100*y,label="$n_p=$ "+i,linewidth=0.8,markersize=4)
    plt.xlabel("Recall [%]")
    plt.ylabel("Precision [%]")
    plt.legend(loc="best")
plt.savefig(os.path.join(out_dir,"online-sht.pdf"))


#face
plt.cla()
x,y = np.loadtxt("all_nb_off.mat",unpack=True)
a,b = np.loadtxt("face.csv",delimiter=",", unpack=True)
plt.plot(100*x,100*y,linewidth=0.8,label="Skeleton")
plt.plot(100*a,100*b,linewidth=0.8,label="Face")
plt.xlabel("Recall [%]")
plt.ylabel("Precision [%]")
plt.legend(loc="best")
plt.savefig(os.path.join(out_dir,"face.pdf"))

#back
plt.cla()
x,y = np.loadtxt("back_all_sht_on.mat",unpack=True)
a,b = np.loadtxt("all_sht_on.mat",unpack=True)
c,d = np.loadtxt("front_back_all_sht.mat",unpack=True)
plt.plot(100*a,100*b,linewidth=0.8,label="Train/test toward")
plt.plot(100*x,100*y,linewidth=0.8,label="Train/test away")
plt.plot(100*c,100*d,linewidth=0.8,label="Train toward test away")
plt.xlabel("Recall [%]")
plt.ylabel("Precision [%]")
plt.legend(loc="best")
plt.savefig(os.path.join(out_dir,"back.pdf"))

#variance-reduction
plt.cla()
x,y = np.loadtxt("half-var-all_sht_on.mat",unpack=True)
a,b = np.loadtxt("all_sht_on.mat",unpack=True)
plt.plot(100*x,100*y,linewidth=0.8,label="Reduced noise")
plt.plot(100*a,100*b,linewidth=0.8,label="Original noise")
plt.xlabel("Recall [%]")
plt.ylabel("Precision [%]")
plt.legend(loc="best")
plt.savefig(os.path.join(out_dir,"var.pdf"))