diff --git a/src/main/java/ca/joeltherrien/randomforest/Main.java b/src/main/java/ca/joeltherrien/randomforest/Main.java index 0328d87..9ff7593 100644 --- a/src/main/java/ca/joeltherrien/randomforest/Main.java +++ b/src/main/java/ca/joeltherrien/randomforest/Main.java @@ -1,7 +1,13 @@ package ca.joeltherrien.randomforest; -import ca.joeltherrien.randomforest.covariates.*; -import ca.joeltherrien.randomforest.responses.competingrisk.*; +import ca.joeltherrien.randomforest.covariates.BooleanCovariateSettings; +import ca.joeltherrien.randomforest.covariates.Covariate; +import ca.joeltherrien.randomforest.covariates.FactorCovariateSettings; +import ca.joeltherrien.randomforest.covariates.NumericCovariateSettings; +import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskErrorRateCalculator; +import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskFunctions; +import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskResponse; +import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskResponseWithCensorTime; import ca.joeltherrien.randomforest.responses.competingrisk.combiner.CompetingRiskFunctionCombiner; import ca.joeltherrien.randomforest.tree.Forest; import ca.joeltherrien.randomforest.tree.ForestTrainer; @@ -12,7 +18,9 @@ import com.fasterxml.jackson.databind.node.JsonNodeFactory; import com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.databind.node.TextNode; -import java.io.*; +import java.io.File; +import java.io.IOException; +import java.io.PrintWriter; import java.util.List; public class Main { diff --git a/src/main/java/ca/joeltherrien/randomforest/covariates/Covariate.java b/src/main/java/ca/joeltherrien/randomforest/covariates/Covariate.java index 77f1f10..9fa77ef 100644 --- a/src/main/java/ca/joeltherrien/randomforest/covariates/Covariate.java +++ b/src/main/java/ca/joeltherrien/randomforest/covariates/Covariate.java @@ -5,7 +5,10 @@ import ca.joeltherrien.randomforest.Row; import ca.joeltherrien.randomforest.tree.Split; import java.io.Serializable; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.LinkedList; +import java.util.List; import java.util.concurrent.ThreadLocalRandom; public interface Covariate extends Serializable { diff --git a/src/main/java/ca/joeltherrien/randomforest/responses/competingrisk/CompetingRiskFunctions.java b/src/main/java/ca/joeltherrien/randomforest/responses/competingrisk/CompetingRiskFunctions.java index 56601c9..e137438 100644 --- a/src/main/java/ca/joeltherrien/randomforest/responses/competingrisk/CompetingRiskFunctions.java +++ b/src/main/java/ca/joeltherrien/randomforest/responses/competingrisk/CompetingRiskFunctions.java @@ -1,6 +1,6 @@ package ca.joeltherrien.randomforest.responses.competingrisk; -import ca.joeltherrien.randomforest.utils.StepFunction; +import ca.joeltherrien.randomforest.utils.RightContinuousStepFunction; import lombok.Builder; import lombok.Getter; @@ -10,22 +10,22 @@ import java.util.List; @Builder public class CompetingRiskFunctions implements Serializable { - private final List causeSpecificHazards; - private final List cumulativeIncidenceCurves; + private final List causeSpecificHazards; + private final List cumulativeIncidenceCurves; @Getter - private final StepFunction survivalCurve; + private final RightContinuousStepFunction survivalCurve; - public StepFunction getCauseSpecificHazardFunction(int cause){ + public RightContinuousStepFunction getCauseSpecificHazardFunction(int cause){ return causeSpecificHazards.get(cause-1); } - public StepFunction getCumulativeIncidenceFunction(int cause) { + public RightContinuousStepFunction getCumulativeIncidenceFunction(int cause) { return cumulativeIncidenceCurves.get(cause-1); } public double calculateEventSpecificMortality(final int event, final double tau){ - final StepFunction cif = getCumulativeIncidenceFunction(event); + final RightContinuousStepFunction cif = getCumulativeIncidenceFunction(event); double summation = 0.0; diff --git a/src/main/java/ca/joeltherrien/randomforest/responses/competingrisk/combiner/CompetingRiskFunctionCombiner.java b/src/main/java/ca/joeltherrien/randomforest/responses/competingrisk/combiner/CompetingRiskFunctionCombiner.java index 7d928a6..14ab8b5 100644 --- a/src/main/java/ca/joeltherrien/randomforest/responses/competingrisk/combiner/CompetingRiskFunctionCombiner.java +++ b/src/main/java/ca/joeltherrien/randomforest/responses/competingrisk/combiner/CompetingRiskFunctionCombiner.java @@ -3,7 +3,6 @@ package ca.joeltherrien.randomforest.responses.competingrisk.combiner; import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskFunctions; import ca.joeltherrien.randomforest.tree.ResponseCombiner; import ca.joeltherrien.randomforest.utils.RightContinuousStepFunction; -import ca.joeltherrien.randomforest.utils.StepFunction; import lombok.RequiredArgsConstructor; import java.util.ArrayList; @@ -50,10 +49,10 @@ public class CompetingRiskFunctionCombiner implements ResponseCombiner causeSpecificCumulativeHazardFunctionList = new ArrayList<>(events.length); - final List cumulativeIncidenceFunctionList = new ArrayList<>(events.length); + final List causeSpecificCumulativeHazardFunctionList = new ArrayList<>(events.length); + final List cumulativeIncidenceFunctionList = new ArrayList<>(events.length); for(final int event : events){ diff --git a/src/main/java/ca/joeltherrien/randomforest/responses/competingrisk/combiner/CompetingRiskResponseCombiner.java b/src/main/java/ca/joeltherrien/randomforest/responses/competingrisk/combiner/CompetingRiskResponseCombiner.java index 538245a..f23d270 100644 --- a/src/main/java/ca/joeltherrien/randomforest/responses/competingrisk/combiner/CompetingRiskResponseCombiner.java +++ b/src/main/java/ca/joeltherrien/randomforest/responses/competingrisk/combiner/CompetingRiskResponseCombiner.java @@ -5,9 +5,10 @@ import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskRespons import ca.joeltherrien.randomforest.tree.ResponseCombiner; import ca.joeltherrien.randomforest.utils.Point; import ca.joeltherrien.randomforest.utils.RightContinuousStepFunction; -import ca.joeltherrien.randomforest.utils.StepFunction; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; /** * This class takes all of the observations in a terminal node and combines them to produce estimates of the cause-specific hazard function @@ -38,8 +39,8 @@ public class CompetingRiskResponseCombiner implements ResponseCombiner responses) { - final List causeSpecificCumulativeHazardFunctionList = new ArrayList<>(events.length); - final List cumulativeIncidenceFunctionList = new ArrayList<>(events.length); + final List causeSpecificCumulativeHazardFunctionList = new ArrayList<>(events.length); + final List cumulativeIncidenceFunctionList = new ArrayList<>(events.length); Collections.sort(responses, (y1, y2) -> { if(y1.getU() < y2.getU()){ @@ -97,7 +98,7 @@ public class CompetingRiskResponseCombiner implements ResponseCombiner