Ejemplo n.º 1
0
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            string collectionName = CollectionName.Text;
            int    featureCount   = int.Parse(FeatureCount.Text);
            //int featureToSelectCount = int.Parse(FeatureToSelectCount.Text);

            DatabaseService     databaseService     = new DatabaseService();
            var                 dataSet             = databaseService.ConvertMongoColectionToListOfLists(featureCount, collectionName);
            SpearmanCorrelation spearmanCorrelation = new SpearmanCorrelation();

            var wynik = spearmanCorrelation.MakeCorelationTable(featureCount, collectionName, dataSet);

            ////before your loop
            var csv = new StringBuilder();

            for (int i = 0; i < featureCount + 1; i++)
            {
                var newLine = string.Empty;
                for (int j = 0; j < featureCount + 1; j++)
                {
                    newLine += wynik[i, j].ToString() + ";";
                }
                csv.AppendLine(newLine);
            }

            File.WriteAllText($"E://cos//wynikiDobreDoMGR//Spearman_{collectionName}_corelationTable_{DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss")}.txt", csv.ToString());

            //FiltersHelper filtersHelper = new FiltersHelper();
            //filtersHelper.SelectFeaturesAndWriteToFile(wynik, featureToSelectCount, "Spearman_" + collectionName, featureCount);

            FeatureSelection featureSelection = new FeatureSelection();

            featureSelection.SelectFeaturesAndCheckClasification(wynik, featureCount + 1, dataSet, collectionName, "Spearman");
            MessageBox.Show("Wykonano obliczenia.");
        }
Ejemplo n.º 2
0
        public void TestSimple()
        {
            User      user1       = GetUser("test1", 1.0, 2.0, 3.0);
            User      user2       = GetUser("test2", 2.0, 3.0, 1.0);
            DataModel dataModel   = GetDataModel(user1, user2);
            double    correlation = new SpearmanCorrelation(dataModel).GetUserCorrelation(user1, user2);

            AssertCorrelationEquals(-0.5, correlation);
        }
Ejemplo n.º 3
0
        public void TestFullCorrelation2()
        {
            User      user1       = GetUser("test1", 1.0, 2.0, 3.0);
            User      user2       = GetUser("test2", 4.0, 5.0, 6.0);
            DataModel dataModel   = GetDataModel(user1, user2);
            double    correlation = new SpearmanCorrelation(dataModel).GetUserCorrelation(user1, user2);

            AssertCorrelationEquals(1.0, correlation);
        }
Ejemplo n.º 4
0
        public void TestHeightAgeCorrelation()
        {
            const double epsilon    = 0.0000000005;
            var          fileLoader = new FileLoader();
            Matrix       values     = fileLoader.LoadFile(@"Data\Data.csv", new string[] { "Height", "Age" });

            var    evaluator   = new SpearmanCorrelation();
            double correlation = evaluator.Evaluate(values);

            Assert.IsTrue(correlation - 0.103759398496241 < epsilon);
        }
Ejemplo n.º 5
0
        public void TestSpearman()
        {
            var sampleVectors = new List <GenericVector>();

            for (int i = 0; i < 100; i++)
            {
                sampleVectors.Add(new GenericVector(i, i + 5));
            }
            var correlation = new SpearmanCorrelation(sampleVectors.Select(x => x.ToVector2()));

            Assert.Equal(1, correlation.GetCorrelationCoefficient());
        }
Ejemplo n.º 6
0
        public void TestName()
        {
            var evaluator = new SpearmanCorrelation();

            Assert.AreEqual("Spearman Correlation", evaluator.Name);
        }