コード例 #1
0
ファイル: DecissionTreeTests.cs プロジェクト: netmatze/NetML
        public void IrisDecisionTreeTest()
        {
            DataSetLoader dataSetLoader = new DataSetLoader();

            Console.WriteLine(" Reading DataSet.. ");
            var irises = dataSetLoader.SelectIrises();
            DecisionTreeClassifier decisionTreeClassifier =
                new DecisionTreeClassifier(irises, new ShannonEntropySplitter());

            decisionTreeClassifier.Train();
            var animalsTest = dataSetLoader.SelectIrises();
            var trueCounter = 0;
            var counter     = 0;

            foreach (var item in animalsTest)
            {
                var outputValue = decisionTreeClassifier.Classify(item.Item1);
                if (outputValue == item.Item2)
                {
                    trueCounter++;
                }
                Debug.WriteLine(string.Format("Value {0} - Predicted {1} = {2}",
                                              item.Item2, outputValue, (outputValue == item.Item2) ? "true" : "false"));
                counter++;
            }
            Debug.WriteLine(string.Format("Data {0} - True {1} Verhältnis: {2}",
                                          counter.ToString(), trueCounter.ToString(), (Convert.ToDouble(trueCounter) / Convert.ToDouble(counter)).ToString()));
        }
コード例 #2
0
        static void Cmacc_mqtt()
        {
            FeatureManager featureManager = new FeatureManager();
            var            Classifier     = new DecisionTreeClassifier(FusionFramework.Classifiers.DecisionTreeLearningAlgorithms.C45Learning);

            Classifier.Load("C:\\Users\\riz\\Desktop\\WISDM\\WisdnDT");
            var dataReader = new MQTTReader <double[]>("/i5/mobileMotion/accelerometer", (dynamic output) =>
            {
                var FeaturSpace = FeatureManager.Generate(output, new List <IFeature>()
                {
                    new Mean(),
                    new StandardDeviation(),
                    new MeanAbsoluteDeviation(),
                    new ResultantAcceleration(),
                    new BinDistribution(10),

                    new Variance(),
                    new Median(),
                    new Range(),
                    new Min(),
                    new Max(),
                    new RootMeanSquare()
                });

                Console.WriteLine("HAR(" + Classifier.Classify(FeaturSpace) + ")");
            });

            dataReader.Add(new SlidingWindow <double[]>(200, 0));
            dataReader.Start();
        }
コード例 #3
0
ファイル: DecissionTreeTests.cs プロジェクト: netmatze/NetML
        public void DecisionTreeTest()
        {
            List <Tuple <double[], double> > data =
                new List <Tuple <double[], double> >();

            data.Add(new Tuple <double[], double>(new double[] { 0.0, 3.0, 0.0, 0.0 }, 40.0));
            data.Add(new Tuple <double[], double>(new double[] { 0.0, 3.0, 1.0, 1.0 }, 50.0));
            data.Add(new Tuple <double[], double>(new double[] { 1.0, 3.0, 1.0, 1.0 }, 50.0));
            DecisionTreeClassifier decisionTreeClassifier =
                new DecisionTreeClassifier(data, new ShannonEntropySplitter());

            decisionTreeClassifier.Train();
            var result = decisionTreeClassifier.Classify(new double[] { 0.0, 3.0, 0.0, 0.0 });

            result = decisionTreeClassifier.Classify(new double[] { 0.0, 3.0, 1.0, 1.0 });
            result = decisionTreeClassifier.Classify(new double[] { 1.0, 3.0, 0.0, 0.0 });
            result = decisionTreeClassifier.Classify(new double[] { 1.0, 0.0, 0.0, 0.0 });
        }
コード例 #4
0
        static void CMacc()
        {
            FeatureManager featureManager = new FeatureManager();
            var            Classifier     = new DecisionTreeClassifier(FusionFramework.Classifiers.DecisionTreeLearningAlgorithms.C45Learning);

            Classifier.Load("C:\\Users\\riz\\Desktop\\MyoGymDT");
            var dataReader = new MQTTReader <double[]>("/i5/myo/full", (dynamic output) =>
            {
                var FeaturSpace = FeatureManager.Generate(output, new List <IFeature>()
                {
                    new HjorthParameters(8, 9, 10),
                    new StandardDeviation(8, 9, 10),
                    new Mean(8, 9, 10),
                    new Max(8, 9, 10),
                    new Min(8, 9, 10),
                    new Percentile(5, 8, 9, 10),
                    new Percentile(10, 8, 9, 10),
                    new Percentile(25, 8, 9, 10),
                    new Percentile(50, 8, 9, 10),
                    new Percentile(75, 8, 9, 10),
                    new Percentile(90, 8, 9, 10),
                    new Percentile(95, 8, 9, 10),
                    new ZeroCrossing(8, 9, 10),
                    new MeanCrossing(8, 9, 10),
                    new Entropy(9, 10, 11),
                    new Correlation(9, 10),
                    new Correlation(9, 11),
                    new Correlation(10, 11),

                    new HjorthParameters(11, 12, 13),
                    new StandardDeviation(11, 12, 13),
                    new Mean(11, 12, 13),
                    new Max(11, 12, 13),
                    new Min(11, 12, 13),
                    new Percentile(5, 11, 12, 13),
                    new Percentile(10, 11, 12, 13),
                    new Percentile(25, 11, 12, 13),
                    new Percentile(50, 11, 12, 13),
                    new Percentile(75, 11, 12, 13),
                    new Percentile(90, 11, 12, 13),
                    new Percentile(95, 11, 12, 13),
                    new ZeroCrossing(11, 12, 13),
                    new MeanCrossing(11, 12, 13),
                    new Entropy(11, 12, 13),

                    new StandardDeviation(0, 1, 2, 3, 4, 5, 6, 7),
                    new Mean(0, 1, 2, 3, 4, 5, 6, 7),
                    new Max(0, 1, 2, 3, 4, 5, 6, 7),
                    new Min(0, 1, 2, 3, 4, 5, 6, 7),
                    new Percentile(5, 0, 1, 2, 3, 4, 5, 6, 7),
                    new Percentile(10, 0, 1, 2, 3, 4, 5, 6, 7),
                    new Percentile(25, 0, 1, 2, 3, 4, 5, 6, 7),
                    new Percentile(50, 0, 1, 2, 3, 4, 5, 6, 7),
                    new Percentile(75, 0, 1, 2, 3, 4, 5, 6, 7),
                    new Percentile(90, 0, 1, 2, 3, 4, 5, 6, 7),
                    new Percentile(95, 0, 1, 2, 3, 4, 5, 6, 7),

                    new SumLargerThan(25, 0, 1, 2, 3, 4, 5, 6, 7),
                    new SumLargerThan(50, 0, 1, 2, 3, 4, 5, 6, 7),
                    new SumLargerThan(100, 0, 1, 2, 3, 4, 5, 6, 7)
                });

                Console.WriteLine(Classifier.Classify(FeaturSpace));
            });

            dataReader.Add(new SlidingWindow <double[]>(200, 0));
            dataReader.Start();
        }