💄 Adds ticks to int grades
This commit is contained in:
parent
9b90fb2db3
commit
0420fda2f1
25
analyze.py
25
analyze.py
@ -27,27 +27,32 @@ def analyze(name: str, data: List[np.ndarray]):
|
||||
return F, p
|
||||
|
||||
|
||||
def plot_box(data, labels, Fs, ps, title, titles):
|
||||
def plot_box(data, labels, Fs, ps, title):
|
||||
if not graph:
|
||||
return
|
||||
|
||||
titles = ["Priemer", "Matematika", "Slovenčina", "Angličtina"]
|
||||
|
||||
fig, axs = plt.subplots(2, 2, sharex=True)
|
||||
fig.suptitle(title)
|
||||
fig.set_size_inches(12, 9)
|
||||
|
||||
for i in range(2):
|
||||
for j in range(2):
|
||||
print(f"{i}x{j} giving {i * 2 + j}")
|
||||
axs[i, j].boxplot(data[i * 2 + j], labels=labels)
|
||||
axs[i, j].set_title(titles[i * 2 + j])
|
||||
for k in range(2):
|
||||
index = j * 2 + k
|
||||
axs[j, k].boxplot(data[index], labels=labels)
|
||||
axs[j, k].set_title(titles[index])
|
||||
|
||||
F = round(Fs[i * 2 + j], 2)
|
||||
p = round(ps[i * 2 + j], 4)
|
||||
axs[i, j].text(0.01, 0.99, f"F-stat: {F}\np-val: {p}", ha="left", va="top", transform=axs[i, j].transAxes,
|
||||
if index > 0:
|
||||
axs[j, k].set_yticks(np.arange(1, 6, 1))
|
||||
|
||||
F = round(Fs[index], 2)
|
||||
p = round(ps[index], 4)
|
||||
axs[j, k].text(0.01, 0.99, f"F-stat: {F}\np-val: {p}", ha="left", va="top", transform=axs[j, k].transAxes,
|
||||
fontweight="bold")
|
||||
|
||||
avgs = np.array([a.mean() for a in data[i * 2 + j]])
|
||||
print(avgs)
|
||||
medians = np.array([np.median(a) for a in data[j * 2 + k]])
|
||||
print(medians) # TODO: add to graph
|
||||
|
||||
fig.tight_layout()
|
||||
fig.show()
|
||||
|
@ -1,6 +1,6 @@
|
||||
import numpy as np
|
||||
|
||||
from analyze import analyze
|
||||
from analyze import analyze, plot_box
|
||||
|
||||
dataset = np.load("clean.npy")
|
||||
print(f"dataset shape: {dataset.shape}; analyzing column 6 (ses)")
|
||||
@ -12,14 +12,19 @@ print("")
|
||||
|
||||
def analyze_ses(name: str, col: np.ndarray):
|
||||
sex_col = dataset[:, 6]
|
||||
analyze(name, [
|
||||
data = [
|
||||
col[sex_col == 0],
|
||||
col[sex_col == 1],
|
||||
col[sex_col == 2]
|
||||
])
|
||||
]
|
||||
F, p = analyze(name, data)
|
||||
return data, F, p
|
||||
|
||||
|
||||
analyze_ses("gpa", dataset[:, 2])
|
||||
analyze_ses("math", dataset[:, 3])
|
||||
analyze_ses("slovak", dataset[:, 4])
|
||||
analyze_ses("english", dataset[:, 5])
|
||||
data_gpa, F_gpa, p_gpa = analyze_ses("gpa", dataset[:, 2])
|
||||
data_math, F_math, p_math = analyze_ses("math", dataset[:, 3])
|
||||
data_slovak, F_slovak, p_slovak = analyze_ses("slovak", dataset[:, 4])
|
||||
data_english, F_english, p_english = analyze_ses("english", dataset[:, 5])
|
||||
|
||||
plot_box([data_gpa, data_math, data_slovak, data_english], ["Nižšia trieda", "Stredná trieda", "Vyššia trieda"],
|
||||
[F_gpa, F_math, F_slovak, F_english], [p_gpa, p_math, p_slovak, p_english], "Socio-ekonomická trieda")
|
||||
|
@ -24,6 +24,5 @@ data_math, F_math, p_math = analyze_sex("math", dataset[:, 3])
|
||||
data_slovak, F_slovak, p_slovak = analyze_sex("slovak", dataset[:, 4])
|
||||
data_english, F_english, p_english = analyze_sex("english", dataset[:, 5])
|
||||
|
||||
plot_box([data_gpa, data_math, data_slovak, data_english], ["Female", "Male"],
|
||||
[F_gpa, F_math, F_slovak, F_english], [p_gpa, p_math, p_slovak, p_english],
|
||||
"Pohlavie", ["Priemer", "Matematika", "Slovenčina", "Angličtina"])
|
||||
plot_box([data_gpa, data_math, data_slovak, data_english], ["Ženy", "Muži"],
|
||||
[F_gpa, F_math, F_slovak, F_english], [p_gpa, p_math, p_slovak, p_english], "Pohlavie")
|
||||
|
Loading…
x
Reference in New Issue
Block a user