Exemple #1
0
        public IActionResult ShowResult(HierarchicalCreateVM model)
        {
            var              data            = _fileService.GetData(model.UploadFile, model.DataType);
            IDistance        distance        = DistanceFactory.GetDistance(model.DistanceType);
            IClusterDistance clusterDistance = ClusterDistanceFactory.GetClusterDistance(model.ClusterUnionType);
            var              result          = _service.Clustering(data, distance, clusterDistance, model.CountOfUnionsInStep);

            return(View(result));
        }
        public ClusterEntityDTO Clustering(List <ClusterEntityDTO> clusteringData, IDistance distance, IClusterDistance clusterDistance, int maxUnionInStep)
        {
            _distance        = distance;
            _clusterDistance = clusterDistance;
            var data = Normlize(clusteringData);
            int step = 0;

            while (true)
            {
                data = Union(data, maxUnionInStep, ++step);
                if (data.Count == 1)
                {
                    break;
                }
            }
            data[0].Name = "Root";
            return(data[0]);
        }