public override void Train(List <double[]> trainingData, List <double> trainingLabels, bool calculateError = true) { int[][] TrainingData = TypeCasters.DoubleMultiArrayToInt(trainingData).ToArray(); int[] TrainingLabels = TypeCasters.DoubleArrayToInt(trainingLabels).ToArray(); if (LearningAlgorithmName == DecisionTreeLearningAlgorithms.ID3Learning) { LearningAlgorithm = new ID3Learning(); } else { LearningAlgorithm = new C45Learning(); } Model = LearningAlgorithm.Learn(TrainingData, TrainingLabels); if (calculateError == true) { CalculateTrainingError(trainingData, trainingLabels); } }
public override void Train(List <double[]> trainingData, List <double> trainingLabels, bool calculateError = true) { LearningAlgorithm = new RandomForestLearning(); if (NumTrees > 0) { LearningAlgorithm.NumberOfTrees = NumTrees; } if (SamplePropotion > 0) { LearningAlgorithm.SampleRatio = SamplePropotion; } int[][] TrainingData = TypeCasters.DoubleMultiArrayToInt(trainingData).ToArray(); int[] TrainingLabels = TypeCasters.DoubleArrayToInt(trainingLabels).ToArray(); Model = LearningAlgorithm.Learn(TrainingData, TrainingLabels); if (calculateError == true) { TrainingError = new ZeroOneLoss(TrainingLabels).Loss(Model.Decide(TrainingData)); } }