Closed transducer closed 5 years ago
I can't say for sure based on what I've seen, but I would rather suspect that there are individuals in the population with different numbers of errors, perhaps owing to something in the implementation of (get-generation!)
. Have you checked for this?
Thanks for your reply.
The error also happens without the call to get-generation
!
(def individuals-count (atom 0))
(def population-size 300) ;; roughly
(defn get-generation! [] (int (/ @individuals-count population-size)))
I would rather suspect that there are individuals in the population with different numbers of errors
What is the case is that the windows have different sizes. The data is partitioned by fourteen days, but some windows of two weeks have less measurements than others. Could that lead to the error? I.e., one generation used a window with 4000 measurements and the previous one used 3999. And that an individual from a previous generation used fewer test cases than the other one?
I will give all the windows the size of the shortest one to check.
Thanks.
Alright that helped! So all the test cases should be the same size, which makes sense.
When running a modified UBall5D example on a training set with around 4000 test cases of the form:
with the following argmap:
After a few generations (seen from first to around twentieth) the following stack trace appears:
The output of the program before the exception is:
I think there's a bug somewhere in
epsilon-lexicase-selection
.