public void LoadTrainData(string trainDataPath)
        {
            TrainDataPath = trainDataPath;
            if (!Directory.GetFiles(trainDataPath).Any())
            {
                return;
            }

            var features = FeatureLoader.GetObservations(trainDataPath);

            SvmClassifier = SVMClassifier.Create(features);
        }
        public static ConfusionMatrix Validate(List <ImageFeatures> train, List <ImageFeatures> validation)
        {
            var svmClassifier = SVMClassifier.Create(train);

            var confusionMatrix = new ConfusionMatrix();

            foreach (var validationObservation in validation)
            {
                var predict = svmClassifier.Predict(validationObservation);
                confusionMatrix.AddVote(actual: validationObservation.IsOccupied, predicted: predict);
            }
            return(confusionMatrix);
        }