Training:
(1.0 - (pl.col("tick") / pl.col("max_tick"))).alias("timeleft")
max_tick = maximum tick value (e.g., 143 for 0-indexed 144 ticks)
At tick 143: timeleft = 1 - 143/143 = 0.0
Evaluation
time_left = float(total_ticks - timeStepIndex) / total_ticks
total_ticks = count of timesteps (144)
At tick 143: timeleft = (144-143)/144 = 0.00694
Solution:
# BEFORE:
time_left = float(total_ticks - timeStepIndex) / total_ticks
# AFTER:
time_left = float(total_ticks - 1 - timeStepIndex) / (total_ticks - 1)
Training:
max_tick = maximum tick value (e.g., 143 for 0-indexed 144 ticks)
At tick 143: timeleft = 1 - 143/143 = 0.0
Evaluation
total_ticks = count of timesteps (144)
At tick 143: timeleft = (144-143)/144 = 0.00694
Solution: