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."); }
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); }
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); }
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); }
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()); }
public void TestName() { var evaluator = new SpearmanCorrelation(); Assert.AreEqual("Spearman Correlation", evaluator.Name); }