Commit graph

51 commits

Author SHA1 Message Date
21ce7ce135 Removed some unnecessary dependencies in a test file. 2019-06-28 15:25:46 -07:00
22accdb263 Add support for providing an initial forest to add trees to 2019-06-07 19:55:44 -07:00
7da3bd14a5 Add test verifying that CIFs are averaged together in the same way as randomForestSRC 2019-06-05 15:13:08 -07:00
1e40b7ff9b Add missing copyright notices 2019-05-10 16:02:59 -07:00
6f318db79e Add support for seeds to control randomness when training forests 2019-05-10 16:02:33 -07:00
17ae3a9f5a Refactor - rename GroupDifferentiators into SplitFinders
SplitRule would have made more sense but it was already taken.
2019-05-08 16:09:09 -07:00
c5c74ad7e9 Fix bug where parallel forests never finish
Add test to detect case
2019-04-29 11:02:14 -07:00
1e643385ee Adjust MultipleLogRankDifferentiators to use actual implementation found in randomForestSRC
Also merge SingleLogRankDifferentiators with the Group variants,
as they now reduce tot he simple case when given only one event of focus.
2019-04-23 17:34:39 -07:00
c8269ae285 Fix bug in test 2019-03-27 21:06:05 -07:00
585d6d3c5b Make SplitRules their own class; independent of their Covariate parents.
This was done so that when we serialize trees (and thus SplitRules) we don't awkwardly also serialize ntree versions of the Covariates,
which is really awkward when deserializing them.
2019-03-25 14:44:31 -07:00
76b2cdd3c4 WIP - Some changes to how trees are saved. 2019-03-25 10:59:55 -07:00
8014bd4629 Fix bug where NAs cause crash 2019-03-04 11:36:21 -08:00
a7f591c2d3 Add integration capabilities to RightContinuousStepFunction; use it for calculating mortality 2019-02-18 14:57:26 -08:00
e74ba23177 Small changes; more tests. 2019-02-18 14:57:13 -08:00
9f513ab75b Add capabilities to get nodes of a certain type in a forest; used to produce summary statistics 2019-02-02 09:36:00 -08:00
d8e52ecd82 Add tests around NumericSplitRuleUpdater; fix minor bug. 2019-01-23 19:37:10 -08:00
ee137370a1 Add GPL-3 Copyright to code 2019-01-14 11:45:23 -08:00
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
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
ae40a2e664 Removed naive mortality error measurement
Naive mortality error was an ad-hoc method I implemented earlier on. It
didn't provide any useful performance, nor was it theoretically
grounded. It's better to remove it before someone accidently uses it.
2018-10-27 19:15:59 -07:00
a887a3cc15 Fix bug in Utils.binarySearchLessThan 2018-10-25 11:21:45 -07:00
ae91dbe9e7 Explicitly store RightContinuousStepFunction in CompetingRiskFunctions
Done so that RUtils is useful. Also optimized imports.
2018-10-25 10:49:43 -07:00
c68f67e47a Massive optimizations;
Refactored how MathFunctions are structured to use more primitives and
less objects.
Optimized competing risk group differentiators to run faster.
Removed alternative competing risk response combiners (may be added back
later)
2018-10-25 10:34:27 -07:00
7fba964af9 Optimize CompetingRiskResponseCombiner 2018-10-12 12:11:48 -07:00
aa733d5eba Switch code to storing Covariate.Value using arrays instead of Maps 2018-09-18 11:17:15 -07:00
7008959999 Add functionality to analyze using validation sets 2018-09-13 12:09:20 -07:00
e0681763ef Add convenience methods to improve R interface performance 2018-09-10 12:31:35 -07:00
b8024275a9 Fix a bug where CompetingRiskFunctions returns NaNs when using set times
in response combiner
2018-09-01 09:43:42 -07:00
2fb80df5a5 Add test for CompetingRiskFunctions 2018-08-31 22:32:54 -07:00
8333579a1f Code cleanup; fixed 3 minor bugs in the settings 2018-08-31 13:10:30 -07:00
75f34853ab Migrate to Java 1.8 2018-08-31 12:48:39 -07:00
c85cebb59f Broke two methods in CompetingRiskErrorRateCalculator into static
methods in a new class.
2018-08-27 11:18:56 -07:00
6d65d48844 Increased test ntree; making test more stable. 2018-08-09 16:33:57 -07:00
55eab76610 Simplied code. 2018-08-08 15:57:28 -07:00
d85f4eb099 Refactored competing risk combiners and differentiators into their own
packages.
2018-08-07 10:59:19 -07:00
bf56dfb59d Add ability to compute different error rates. 2018-08-07 10:52:52 -07:00
d3994212b6 Fix a bug in naive mortality error measure; implement IPCW concordance
measure if you can provide the censoring distribution.
2018-07-26 12:45:12 -07:00
e1caef6d56 Implement naive mortality error measure 2018-07-25 15:29:09 -07:00
650579a430 Implement naive version of concordance index.
Note that results DO NOT MATCH with randomForestSRC; so take these
results with a grain of salt.
2018-07-25 14:18:50 -07:00
7a77851f94 WIP - Add a CompetingRiskErrorRateCalculator.
Note that tests fail.
2018-07-24 14:35:27 -07:00
dc9d20aa1a Add ability to load gziped CSV files 2018-07-18 10:05:49 -07:00
05f9122b58 Add capability to load trees back into memory. 2018-07-17 13:54:59 -07:00
fffdfe85bf Finish competing risk implementation. Fix a bug in tree training
algorithm.
2018-07-16 16:58:11 -07:00
462b0d9c35 Implement Response & GroupDifferentiators for CompetingRisk problems.
Also adjusted how settings are done to allow for specifying
differentiators & responses that may require arguments.

Note that CompetingRisk code is untested at this point.
2018-07-10 14:43:51 -07:00
4bbb0e0948 Fix a bug whereby FactorCovariate fails when "NA" is provided.
Also improved testing around this.
2018-07-06 13:33:58 -07:00
6b62ad95c3 Add support for loading datasets by CSV files. 2018-07-06 13:21:56 -07:00
fe9ff37dcf Upgraded Settings class to allow for covariates to be built from
provided values.
2018-07-05 19:04:26 -07:00
b010e79269 Add basic Settings class with persistence. 2018-07-05 13:59:52 -07:00
2cdcbe6cbf Refactor different classes into subpackages. 2018-07-05 12:59:29 -07:00