public RegressionEnsembleSolution(IRegressionEnsembleModel model, IRegressionProblemData problemData) : base(model, new RegressionEnsembleProblemData(problemData)) { trainingPartitions = new Dictionary <IRegressionModel, IntRange>(); testPartitions = new Dictionary <IRegressionModel, IntRange>(); regressionSolutions = new ItemCollection <IRegressionSolution>(); evaluationCache = new Dictionary <int, double>(problemData.Dataset.Rows); trainingEvaluationCache = new Dictionary <int, double>(problemData.TrainingIndices.Count()); testEvaluationCache = new Dictionary <int, double>(problemData.TestIndices.Count()); var solutions = model.Models.Select(m => m.CreateRegressionSolution((IRegressionProblemData)problemData.Clone())); foreach (var solution in solutions) { regressionSolutions.Add(solution); trainingPartitions.Add(solution.Model, solution.ProblemData.TrainingPartition); testPartitions.Add(solution.Model, solution.ProblemData.TestPartition); } RecalculateResults(); RegisterModelEvents(); RegisterRegressionSolutionsEventHandler(); }
public RegressionEnsembleSolution(IRegressionEnsembleModel model, IRegressionProblemData problemData) : base(model, new RegressionEnsembleProblemData(problemData)) { trainingPartitions = new Dictionary<IRegressionModel, IntRange>(); testPartitions = new Dictionary<IRegressionModel, IntRange>(); regressionSolutions = new ItemCollection<IRegressionSolution>(); evaluationCache = new Dictionary<int, double>(problemData.Dataset.Rows); trainingEvaluationCache = new Dictionary<int, double>(problemData.TrainingIndices.Count()); testEvaluationCache = new Dictionary<int, double>(problemData.TestIndices.Count()); var solutions = model.Models.Select(m => m.CreateRegressionSolution((IRegressionProblemData)problemData.Clone())); foreach (var solution in solutions) { regressionSolutions.Add(solution); trainingPartitions.Add(solution.Model, solution.ProblemData.TrainingPartition); testPartitions.Add(solution.Model, solution.ProblemData.TestPartition); } RecalculateResults(); RegisterModelEvents(); RegisterRegressionSolutionsEventHandler(); }