Add optimizations. #13

Merged
joel merged 6 commits from optimizations into master 2019-01-14 19:08:14 +00:00

6 commits

Author SHA1 Message Date
e709c42da1 Update the competing risk GroupDifferentiators to make efficient use of the SplitRuleUpdater updates
Results in a speed improvement of over 1/3 according to a timing of the TestCompetingRisk#testLogRankSingleGroupDifferentiatorAllCovariates() test
2019-01-11 22:58:56 -08:00
86122fd90d Remove comment that isn't true 2019-01-10 17:34:52 -08:00
31d6ce9b3e Covariates track if they have any NA values, and skip NA handling code if possible 2019-01-10 14:09:43 -08:00
a57741b726 Add PMD rules to pom.xml to enforce higher code quality 2019-01-10 11:23:55 -08:00
a5fe856857 Massive refactor; Use Iterators/Updaters when calculating difference scores for faster calculations.
Changed the covariates to be more clever with how they produce the different splits. In the future (not yet implemented) a clever GroupDifferentiator
could update the current score calculation based just on how many rows moved from one hand to the other. There were a few other changes as well;
TreeTrainer#growTree now accepts a Random as a parameter which is used throughout the entire growing process. This means it's now theoretically
possible to grow trees using a seed, so that results can be fully reproducible.
2019-01-09 21:31:27 -08:00
e892076a05 Add a test for the composite log rank splitting rule.
Add some debug toString capabilities on Nodes and Trees
2019-01-04 11:22:23 -08:00