Ejemplo n.º 1
0
        private static IClustersList ComputeClustering(KMeans km, string fileName, int nItemsCount, string userMessage)
        {
            int nUsersCount = km.LoadCentroidsFromFile(fileName);

            int nInitialCent = 0;
            int nItemsPerCluster = 0, nItemsPerClusterMax = 0;

            if (nItemsCount > 0 && nUsersCount > 0)
            {
                do
                {
                    nItemsPerClusterMax = nItemsCount / nUsersCount;
                    Console.Write($"{userMessage} [2-{nItemsPerClusterMax}]: ");
                    nItemsPerCluster = int.Parse(Console.ReadLine());
                } while (nItemsPerCluster < 2 || nItemsPerCluster > nItemsPerClusterMax);

                do
                {
                    Console.Write("\nEnter the number of initial centroids [1-{0}]: ", nUsersCount);
                    nInitialCent = int.Parse(Console.ReadLine());
                } while (nInitialCent < 1 || nInitialCent > nUsersCount);
            }

            return(km.Compute(nInitialCent, nItemsPerCluster));
        }