Beispiel #1
0
        public ID3Learner(T[][] input, T[] output)
        {
            InputFactors  = new FactorsCollection <T>(input.SelectMany(a => a).Distinct().ToArray());
            OutputFactors = new FactorsCollection <T>(output.Distinct().ToArray());

            learner = new ID3LearnerInt(
                input.Select(a => InputFactors.ToIntFactors(a)).ToArray(),
                OutputFactors.ToIntFactors(output),
                InputFactors.Count,
                OutputFactors.Count);

            learner.Learn();

            indices = new Dictionary <DecisionNode, int>();
            var index = 0;

            foreach (var node in TreeTraversal.DFS(learner.Root, GetChildren))
            {
                indices.Add(node, index);
                index++;
            }
        }