-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsingle_analysis.py
More file actions
57 lines (48 loc) · 1.63 KB
/
single_analysis.py
File metadata and controls
57 lines (48 loc) · 1.63 KB
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
import pandas as pd
import plotnine as pn
import scipy.stats as stats
import analysis
import util
verbs = ["AllOpen", "BeCertain", "BelPart", "WondowLess"]
trials = range(30)
long_data = pd.DataFrame()
final_acc = pd.DataFrame()
for verb in verbs:
verb_data = util.read_trials_from_csv(
f"../single/{verb.lower()}/data", trials=trials
)
for trial in trials:
accuracies = verb_data[trial][f"{verb}_accuracy"].values
long_data = long_data.append(
pd.DataFrame(
{
"verb": verb,
"trial": trial,
"accuracy": analysis.smooth_data(accuracies, smooth_weight=0.5),
"step": verb_data[trial]["global_step"],
}
),
ignore_index=True,
)
final_acc = final_acc.append(
{"verb": verb, "trial": trial, "accuracy": sum(accuracies[-5:]) / 5},
ignore_index=True,
)
print(final_acc[final_acc['verb']=='WondowLess'].describe())
print(final_acc[final_acc['verb']=='AllOpen'].describe())
print(stats.ttest_ind(
final_acc[final_acc['verb']=='WondowLess']['accuracy'].values,
final_acc[final_acc['verb']=='AllOpen']['accuracy'].values
))
print(long_data)
plot = pn.ggplot(long_data) + pn.geom_line(
pn.aes(x="step", y="accuracy", color="verb", group="verb*trial"), alpha=0.5
)
print(plot)
plot = (
pn.ggplot(final_acc, pn.aes(x="verb", y="accuracy"))
+ pn.geom_violin(pn.aes(fill="verb"))
# + pn.geom_dotplot(dotsize=0.05, stackdir="centerwhole", binaxis="y", binwidth=0.0005)
+ pn.geom_point(size=0.5, alpha=0.5)
)
print(plot)