Exemplo n.º 1
0
        static void Main(string[] args)
        {
            int             segmentCount  = 5;
            int             dimensions    = 6;
            int             neighborCount = 5;
            Matrix <double> data          = ReadData();

            PrintAttributeNames();
            int totalDimensions = ATTRIBUTE_NAMES.Count;
            int segmentSize     = data.RowCount / segmentCount;

            Console.WriteLine("Duomenys iš failo: \n" + data.ToMatrixString());
            Matrix <double> normalizedData = NormalizeData(data);

            Console.WriteLine("Normalizuoti duomenys: \n" + normalizedData.ToMatrixString());
            Matrix <double> covarienceMatrix = GetCovarianceMatrix(normalizedData);

            Console.WriteLine("Kovariacijos matrica: \n" + covarienceMatrix.ToMatrixString());
            List <KeyValuePair <double, double> > ftrSortedCovarianceList = GetSortedFullTimeResultCovariance(covarienceMatrix);

            PrintCovarianceList(ftrSortedCovarianceList);
            Counts totals = CalculateFullTimeResultsTotals(normalizedData);

            PrintFullTimeResultsTotals(totals);
            kMeansClustering clustering = new kMeansClustering(normalizedData, 3);

            clustering.Cluster();

            /* while (dimensions <= totalDimensions)
             * {*/
            Console.WriteLine("Dimensijų kiekis: {0}", dimensions);
            Matrix <double> reducedData = GetReducedMatrix(ftrSortedCovarianceList, normalizedData, dimensions);

            Console.WriteLine("Po dimensijų sumažinimo: \n", reducedData.ToMatrixString());
            Console.WriteLine("Duomenys po dimensijų sumažinimo: \n" + reducedData.ToMatrixString());
            // Kryžminė patikra
            for (int i = 0; i < 5; i++)
            {
                Matrix <double> trainingData = GetTrainingData(reducedData, segmentSize, i);
                Matrix <double> testingData  = GetTestingData(reducedData, segmentSize, i);
                Bayes           bayes        = new Bayes(trainingData);
                bayes.Learn(i + 1);
                bayes.TestList(testingData);

                /* KNN kNN = new KNN(trainingData, neighborCount);
                 * kNN.ClassifyList(trainingData, "Apmokymo duomenys", i + 1);
                 * kNN.ClassifyList(testingData, "Testavimo duomenys");*/
            }

            /* dimensions += 6;
             * }*/
        }
Exemplo n.º 2
0
        public static Counts CalculateFullTimeResultsTotals(Matrix <double> data)
        {
            Counts totals = new Counts();

            for (int i = 0; i < data.RowCount; i++)
            {
                if (data[i, FTR_COLUMN] == AWAY)
                {
                    totals.awayWinCount++;
                }
                else if (data[i, FTR_COLUMN] == DRAW)
                {
                    totals.drawCount++;
                }
                else if (data[i, FTR_COLUMN] == HOME)
                {
                    totals.homeWinCount++;
                }
            }
            return(totals);
        }
Exemplo n.º 3
0
 static void PrintFullTimeResultsTotals(Counts totals)
 {
     Console.WriteLine("Namų komandos pergalės: {0}", totals.homeWinCount);
     Console.WriteLine("Lygiosios: {0}", totals.drawCount);
     Console.WriteLine("Išvykos komandos pergalės: {0}", totals.awayWinCount);
 }