public List <PartialMean> ComputePartialMeans()
        {
            List <PartialMean> partialMeans = new PartialMean[_clustersNum].ToList();

            for (int i = 0; i < _clustersNum; i++)
            {
                List <DataVector> slices  = _dataPartition.DataVectors.Where(d => d.Label == i).ToList();
                DataVector        average = new DataVector(_dataPartition.DataVectors[0].Dimension);

                if (slices.Count > 1)
                {
                    average = DataVector.Mean(slices);
                }
                average.Label   = i;
                partialMeans[i] = new PartialMean(average, slices.Count);
            }
            return(partialMeans);
        }
Beispiel #2
0
        private List <PartialMean> ComputePartialMeans()
        {
            Logger.Log(Level.Verbose, "cluster number " + _clustersNum);
            List <PartialMean> partialMeans = new PartialMean[_clustersNum].ToList();

            for (int i = 0; i < _clustersNum; i++)
            {
                List <DataVector> slices  = _dataPartition.DataVectors.Where(d => d.Label == i).ToList();
                DataVector        average = new DataVector(_dataPartition.DataVectors[0].Dimension);

                if (slices.Count > 1)
                {
                    average = DataVector.Mean(slices);
                }
                average.Label   = i;
                partialMeans[i] = new PartialMean(average, slices.Count);
                Logger.Log(Level.Info, "Adding to partial means list: " + partialMeans[i]);
            }
            return(partialMeans);
        }