예제 #1
0
        public static GAIN EnBüyük(List <GAIN> gainList)
        {
            GAIN g = gainList[0];

            foreach (var item in gainList)
            {
                if (g.değer < item.değer)
                {
                    g = item;
                }
            }
            return(g);
        }
예제 #2
0
        public static void AğacıDoldur(Ağaç ağaç, string[] dizi, string cevapSütun)
        {
            string[] sonuçlar = new string[dizi.Length - 1];
            int      konum    = Array.IndexOf(dizi[0].Split(sep), cevapSütun);

            for (int i = 0; i < dizi.Length - 1; i++)
            {
                sonuçlar[i] = dizi[i + 1].Split(sep)[konum];
            }
            double EntropiG = Entropi(sonuçlar);

            if (EntropiG == 0)
            {
                ağaç.sınıf = dizi[1].Split(sep)[konum];
            }
            else
            {
                List <GAIN> GainList = Gain(dizi, cevapSütun);
                GAIN        Enbüyük  = GAIN.EnBüyük(GainList);
                ağaç.isim = Enbüyük.isim;
                if (Enbüyük.histo.Count == 1)
                {
                    ağaç.sınıf = dizi[1].Split(sep)[konum];
                    return;
                }
                foreach (var dal in Enbüyük.histo)
                {
                    Ağaç AltAğaç = new Ağaç();
                    AltAğaç.değer = dal.isim;

                    string[] AltDizi = altDizi(dizi, dal, Enbüyük.isim);

                    ağaç.AltListe.Add(AltAğaç);

                    AğacıDoldur(AltAğaç, AltDizi, cevapSütun);
                }
            }
        }