예제 #1
0
파일: KNN.cs 프로젝트: Bonniu/KSR
        //klasyfikacja tkestu do jego kraju
        public void Classify()
        {
            ResetMatrix();
            for (int x = 0; x < testArticles.Count; x++)
            {
                List <Neighbor> closestNeighbors = new List <Neighbor>();
                for (int i = 0; i < trainingArticles.Count; i++)
                {
                    double tmp = metric.CountValue(trainingArticles[i], testArticles[x]);
                    if (closestNeighbors.Count < k)
                    {
                        closestNeighbors.Add(new Neighbor(trainingArticles[i].GetPlace(), tmp));
                        continue;
                    }

                    //sortowanie - ostatni najgorszy
                    closestNeighbors = closestNeighbors.OrderBy(test => test.GetKnnValue()).ToList();

                    // wstarczy sprawdzic ostatni - jezeli ostatni jest mniejszy to zamiana
                    if (closestNeighbors[^ 1].GetKnnValue() > tmp)