card["S(recall)"] = card.apply(
lambda row: (
float(student.next_states(row["states"], row["delta_t"], 3)[0])
if row["stability"] != 0
else 0
),
axis=1,
)
card["PSG"] = (
card["S(recall)"] * card["retrievability"]
) / card["stability"].map(lambda x: x if x != 0 else 1)
card["S(recall_tomorrow)"] = card.apply(
lambda row: (
float(student.next_states(row["states"], row["delta_t"] + 1, 3)[0])
if row["stability"] != 0
else 0
),
axis=1,
)
card["PSG_tomorrow"] = (
card["S(recall_tomorrow)"] * card["retrievability"]
) / card["stability"].map(lambda x: x if x != 0 else 1)
card["PLSG"] = card["PSG"] - card["PSG_tomorrow"]
3 Likes