numl.Supervised.NaiveBayes.NaiveBayesGenerator.GetBaseConditionals C# (CSharp) Method

GetBaseConditionals() private method

Gets base conditionals.
private GetBaseConditionals ( Matrix x ) : numl.Supervised.NaiveBayes.Measure[]
x Matrix The Matrix to process.
return numl.Supervised.NaiveBayes.Measure[]
        private Measure[] GetBaseConditionals(Matrix x)
        {
            Measure[] features = new Measure[x.Cols];
            for (int i = 0; i < features.Length; i++)
            {
                Property p = Descriptor.At(i);
                var f = new Measure
                {
                    Discrete = p.Discrete,
                    Label = Descriptor.ColumnAt(i),
                };

                IEnumerable<Statistic> fstats;
                if (f.Discrete)
                    fstats = x[i, VectorType.Col].Distinct().OrderBy(d => d)
                                                 .Select(d => Statistic.Make(p.Convert(d).ToString(), d, 1));
                else
                    fstats = x[i, VectorType.Col].Segment(Width)
                                                 .Select(d => Statistic.Make(f.Label, d, 1));

                f.Probabilities = fstats.ToArray();
                features[i] = f;
            }

            return features;
        }