/// <summary> /// Ucitavanje svih trazenih ulaznih kolona po prosledjenim indeksima /// tih kolona u tabeli. /// </summary> /// <param name="brojKolonaZaUcitavanjeInputa"></param> private void ucitajUlazneKolone(List <int> brojKolonaZaUcitavanjeInputa) { foreach (int kolona in brojKolonaZaUcitavanjeInputa) { List <double> podaciKolone = CitacPodataka.ucitajPodatkeIzKolone(kolona); podaciKolone = Normalizacija.normalizujPodatke(podaciKolone); if (CitacPodataka.UniqKategorickiAtributi.Count > 0) { List <List <double> > noveKolone = CitacPodataka.UniqKategorickiAtributi.Values.ToList(); /* * Zbog https://towardsdatascience.com/one-hot-encoding-multicollinearity-and-the-dummy-variable-trap-b5840be3c41a * izbacujem jednu kolonu kako ne bi upao u zamku koja se krije u one hot encodingu */ noveKolone.RemoveAt(noveKolone.Count - 1); UlazneKolone.AddRange(noveKolone); } else { UlazneKolone.Add(podaciKolone); } } }
/// <summary> /// Ucitavanje svih trazenih izlaznih kolona ( atributa) /// sa prosledjenim indeksima tih kolona u tabeli /// </summary> /// <param name="brojKolonaZaUcitanjeOutputa"></param> private void ucitajIzlazneKolone(List <int> brojKolonaZaUcitanjeOutputa) { foreach (int kolona in brojKolonaZaUcitanjeOutputa) { List <double> podaciKolone = CitacPodataka.ucitajPodatkeIzKolone(kolona); podaciKolone = Normalizacija.normalizujPodatke(podaciKolone); IzlazneKolone.Add(podaciKolone); } }