private void KNN(List <Tuple <double[], double> > data)
        {
            Metric metric = new EuclideMetric();

            foreach (var item in netMLObject.Options)
            {
                if (item == "euclidmetric")
                {
                    metric = new EuclideMetric();
                }
                else if (item == "manhattanmetric")
                {
                    metric = new ManhattanMetric();
                }
                else if (item == "squaredeuclidmetric")
                {
                    metric = new SquaredEuclideMetric();
                }
                else if (item == "maximummetric")
                {
                    metric = new MaximumMetric();
                }
            }
            classification = new KNearestNeighborsClassifier(data, 2, metric);
        }
示例#2
0
        static void Main(string[] args)
        {
            //double trainingToTestDataRatio = 0.6;
            int  stopListWordNumber = 100;
            bool IdfOn = true;

            LoadAllDocumentArticles(new DocumentReader());
            LoadAllCustomArticles(new CustomReader());

            IMetric metric = new EuclideanMetric();

            Console.WriteLine(metric.GetType().Name);
            RunFor3Sets(0.2, stopListWordNumber, metric, IdfOn);
            RunFor3Sets(0.6, stopListWordNumber, metric, IdfOn);
            RunFor3Sets(0.8, stopListWordNumber, metric, IdfOn);

            metric = new ChebyshevMetric();
            Console.WriteLine(metric.GetType().Name);
            RunFor3Sets(0.2, stopListWordNumber, metric, IdfOn);
            RunFor3Sets(0.6, stopListWordNumber, metric, IdfOn);
            RunFor3Sets(0.8, stopListWordNumber, metric, IdfOn);

            metric = new ManhattanMetric();
            Console.WriteLine(metric.GetType().Name);
            RunFor3Sets(0.2, stopListWordNumber, metric, IdfOn);
            RunFor3Sets(0.6, stopListWordNumber, metric, IdfOn);
            RunFor3Sets(0.8, stopListWordNumber, metric, IdfOn);


            IdfOn  = false;
            metric = new EuclideanMetric();
            Console.WriteLine(metric.GetType().Name);
            RunFor3Sets(0.2, stopListWordNumber, metric, IdfOn);
            RunFor3Sets(0.6, stopListWordNumber, metric, IdfOn);
            RunFor3Sets(0.8, stopListWordNumber, metric, IdfOn);

            metric = new ChebyshevMetric();
            Console.WriteLine(metric.GetType().Name);
            RunFor3Sets(0.2, stopListWordNumber, metric, IdfOn);
            RunFor3Sets(0.6, stopListWordNumber, metric, IdfOn);
            RunFor3Sets(0.8, stopListWordNumber, metric, IdfOn);

            metric = new ManhattanMetric();
            Console.WriteLine(metric.GetType().Name);
            RunFor3Sets(0.2, stopListWordNumber, metric, IdfOn);
            RunFor3Sets(0.6, stopListWordNumber, metric, IdfOn);
            RunFor3Sets(0.8, stopListWordNumber, metric, IdfOn);

            Console.ReadKey();
        }
示例#3
0
        public async void ChooseExtract(string[] path)
        {
            Reuters = await Model.Reuter.GetReutersFromFileAsync(path, ChosenExtractFeature);

            AllReuters = TrainingPatterns.SetTrainingAndTestSet(TrainingSetPercent, Reuters);

            if (ChosenMetricFeature.Equals("Euclidean Metric"))
            {
                _percent = await EuclideanMetric.CalculateAsync(AllReuters, getK);

                Percent = (Math.Round(_percent, 2) * 100).ToString();
                MessageBox.Show("Done");
            }
            else if (ChosenMetricFeature.Equals("Manhattan Metric"))
            {
                _percent = await ManhattanMetric.CalculateAsync(AllReuters, getK);

                Percent = (Math.Round(_percent, 2) * 100).ToString();
                MessageBox.Show("Done");
            }
        }
    static void Main(string[] argv)
    {
        modshogun.init_shogun_with_defaults();

        DoubleMatrix traindata_real = Load.load_numbers("../data/fm_train_real.dat");
        DoubleMatrix testdata_real = Load.load_numbers("../data/fm_test_real.dat");

        RealFeatures feats_train = new RealFeatures(traindata_real);
        RealFeatures feats_test = new RealFeatures(testdata_real);

        ManhattanMetric distance = new ManhattanMetric(feats_train, feats_train);

        DoubleMatrix dm_train = distance.get_distance_matrix();
        distance.init(feats_train, feats_test);
        DoubleMatrix dm_test = distance.get_distance_matrix();

        Console.WriteLine(dm_train.ToString());
        Console.WriteLine(dm_test.ToString());

        modshogun.exit_shogun();
    }
示例#5
0
        private Metric FindMetric()
        {
            Metric metric = new EuclideMetric();

            switch (netMLObject.Options.First())
            {
            case "euclidmetric":
                metric = new EuclideMetric();
                break;

            case "manhattanmetric":
                metric = new ManhattanMetric();
                break;

            case "maximummetric":
                metric = new MaximumMetric();
                break;

            case "squaredeuclidmetric":
                metric = new SquaredEuclideMetric();
                break;
            }
            return(metric);
        }
示例#6
0
 internal static HandleRef getCPtr(ManhattanMetric obj)
 {
     return((obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr);
 }
示例#7
0
 internal static HandleRef getCPtr(ManhattanMetric obj) {
   return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
 }