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); }
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); }