예제 #1
0
        public int[] Predict(List <TrainingValue> predictionData)
        {
            if (!Trained)
            {
                throw new Exception("Train must be called first!");
            }

            double[][] featuresArray = new double[predictionData.Count][];

            for (int i = 0; i < featuresArray.Length; i++)
            {
                featuresArray[i] = predictionData[i].Features;
            }

            switch (type)
            {
            case ClassifierType.DecisionTree:
                return(tree.Decide(featuresArray));

            case ClassifierType.LDA:
                return(pipeline.Decide(featuresArray));

            case ClassifierType.SVM:
                return(convertBoolArray(svm.Decide(featuresArray)));

            case ClassifierType.Bayes:
                return(bayes.Decide(featuresArray));
            }

            return(null);
        }
 /// <summary>
 /// Perform  classification from loaded model and returns the infered class.
 /// </summary>
 /// <param name="vector">The input vector that should be list of double.</param>
 /// <returns>Resultant class as an integer</returns>
 public override int Classify(List <double> vector)
 {
     return(Model.Decide(vector.ToArray()));
 }
 public override double Classify(List <double> featureVector)
 {
     return(Model.Decide(featureVector.ToArray()));
 }