コード例 #1
0
        private double[] InitKMeans(IMongoQueryable <ProductPriceProjection> prices, int clustersCount)
        {
            double[] centers = new double[clustersCount];
            double   min     = prices.Min(p => p.Price);
            double   max     = prices.Max(p => p.Price);

            double range             = max - min;
            double initClusterLength = range / clustersCount;

            for (int i = 0; i < clustersCount; i++)
            {
                centers[i] = min + (i + 0.5) * initClusterLength;
            }

            return(centers);
        }