コード例 #1
0
        private async Task Run()
        {
            var results = Clustering.Cluster.RunIndividual(fixedKAlgorithmComboBox.SelectedAlgorithm,
                                                           myDatasetComboBox.SelectedDataset, myKSelector.K, true);
            var individualResults = results.Where(c => c.group_count == myKSelector.K).Where(c => c.significant_rate > results.First().significant_rate - 0.05).ToArray();

            if (individualResults.Length == 0)
            {
                MessageBox.Show("Failed to find any clustering that meets the criterion");
            }


            if (individualResults.Length == 1)
            {
                Report.Run(individualResults[0]);
                return;
            }

            var ensembleRusults             = CSEnsemble.Run(GetEnsembleFolderName(), "HE", myKSelector.K, 5, individualResults.ToArray());
            List <StatisticalResultCsv> all = new List <StatisticalResultCsv>();

            all.AddRange(individualResults);
            all.AddRange(ensembleRusults);
            all = all.OrderBy(c => c.significant_rate).ThenBy(c => c.Compactness).ToList();
            Report.Run(all.First());
        }
コード例 #2
0
        private async Task EnsembleTask()
        {
            List <StatisticalResultCsv> selectedMembers = new List <StatisticalResultCsv>();

            for (int i = 0; i < candidateDataGridView.SelectedRows.Count; i++)
            {
                StatisticalResultCsv item = (StatisticalResultCsv)candidateDataGridView.SelectedRows[i].DataBoundItem;
                selectedMembers.Add(item);
            }
            int keep = 0;

            int.TryParse(keepNumericUpDown.Text, out keep);
            NameAlias na = (NameAlias)ensembleMethodcomboBox.SelectedItem;

            CSEnsemble.Run(ensembleNameTextBox.Text, na.Alias, keSelector.K, keep, selectedMembers);
        }