Ejemplo n.º 1
0
        /// <summary>
        /// Konstruktor u slucaju Cross Validation-a.
        ///
        /// Npr: Four-Fold Cross Validation uzimamo delove za test podatke
        /// 0-25    [ od 25-100 su train podaci ]
        /// 25-50   [ od 0-25 && 50-100 su train podaci]
        /// 50-75   [ od 0-50 && 75-100 su train podaci]
        /// 75-100  [ od 0-75 su train podaci ]
        ///
        /// Predstavlja od kog do kog postotka svih podataka uzimamo nekolicinu da budu test podaci
        /// </summary>
        /// <param name="indeksiKolonaZaUcitavanjeInputa"></param>
        /// <param name="indeksiKolonaZaUcitavanjeOutputa"></param>
        /// <param name="odProcenta"></param>
        /// <param name="doProcenta"></param>
        public FileDAO(List <int> indeksiKolonaZaUcitavanjeInputa, List <int> indeksiKolonaZaUcitavanjeOutputa, int odProcenta, int doProcenta)
        {
            UlazneKoloneTrainSeta  = new List <List <double> >();
            IzlazneKoloneTrainSeta = new List <List <double> >();
            UlazneKoloneTestSeta   = new List <List <double> >();
            IzlazneKoloneTestSeta  = new List <List <double> >();


            Normalizacija      = new NormalizatorPodataka();
            CitacTrainPodataka = new DataReader("train.csv");
            //CitacTestPodataka = new DataReader("test.csv");


            X = new List <List <double> >();
            Y = new List <List <double> >();

            XTest = new List <List <double> >();
            YTest = new List <List <double> >();


            // TRAIN podaci
            UlazneKoloneTrainSeta = ucitajUlazneKolone(indeksiKolonaZaUcitavanjeInputa, CitacTrainPodataka);
            odrediInpute(odProcenta, doProcenta);

            IzlazneKoloneTrainSeta = ucitajIzlazneKolone(indeksiKolonaZaUcitavanjeOutputa, CitacTrainPodataka);
            odrediOutpute(odProcenta, doProcenta);
        }
        /// <summary>
        /// Proslediti indekse kolona za ucitavanje kako bi setovali X inpute,
        /// a proslediti indekse kolona koje predstavljaju izlaze kako bi setovali Y odnosno
        /// OUTPUT-e mreze.
        ///
        /// NAPOMENA: Ukoliko su train i test set odvojeni fajlovi, procenat test podataka treba da bude 0 !!!
        /// Da ne bi dosli u situaciju da iz train seta uzimamo podatke i cuvamo ih kao ulaze/izlaze u test setu.
        /// </summary>
        /// <param name="indeksiKolonaZaUcitavanjeInputa"> indeksi kolona koje zelimo ucitati iz data seta ( a predstavljaju ulazne atribute u mrezu ) </param>
        /// <param name="indeksiKolonaZaUcitavanjeOutputa"> indeksi kolona koje zelimo ucitati iz data seta (a predstavljaju izlazne atribute iz mreze) </param>
        /// <param name="procenatTestPodataka"> Procenat koliko zelimo da imamo testnih podataka od svih ucitanih </param>"
        public FileDAO(List <int> indeksiKolonaZaUcitavanjeInputa, List <int> indeksiKolonaZaUcitavanjeOutputa, int procenatTestPodataka)
        {
            UlazneKoloneTrainSeta  = new List <List <double> >();
            IzlazneKoloneTrainSeta = new List <List <double> >();
            UlazneKoloneTestSeta   = new List <List <double> >();
            IzlazneKoloneTestSeta  = new List <List <double> >();


            Normalizacija      = new NormalizatorPodataka();
            CitacTrainPodataka = new DataReader("loan-prediction.csv");
            //CitacTestPodataka = new DataReader("test.csv");


            X = new List <List <double> >();
            Y = new List <List <double> >();

            XTest = new List <List <double> >();
            YTest = new List <List <double> >();


            // TRAIN podaci
            UlazneKoloneTrainSeta = ucitajUlazneKolone(indeksiKolonaZaUcitavanjeInputa, CitacTrainPodataka);
            odrediInpute(procenatTestPodataka);

            IzlazneKoloneTrainSeta = ucitajIzlazneKolone(indeksiKolonaZaUcitavanjeOutputa, CitacTrainPodataka);
            odrediOutpute(procenatTestPodataka);

            // TEST podaci - OVAJ DEO MI JE BIO DA SMO IMALI 2 ODVOJENA FAJLA
            //UlazneKoloneTestSeta = ucitajUlazneKolone(indeksiKolonaZaUcitavanjeInputa, CitacTestPodataka);
            //odrediInputeTestSeta();

            //IzlazneKoloneTestSeta = ucitajIzlazneKolone(indeksiKolonaZaUcitavanjeOutputa, CitacTestPodataka);
            //odrediOutputeTestSeta();
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Proslediti indekse kolona za ucitavanje kako bi setovali X inpute,
        /// a proslediti indekse kolona koje predstavljaju izlaze kako bi setovali Y odnosno
        /// OUTPUT-e mreze.
        ///
        /// NAPOMENA: Ukoliko su train i test set odvojeni fajlovi, procenat test podataka treba da bude 0 !!!
        /// Da ne bi dosli u situaciju da iz train seta uzimamo podatke i cuvamo ih kao ulaze/izlaze u test setu.
        /// </summary>
        /// <param name="indeksiKolonaZaUcitavanjeInputa"> indeksi kolona koje zelimo ucitati iz data seta ( a predstavljaju ulazne atribute u mrezu ) </param>
        /// <param name="indeksiKolonaZaUcitavanjeOutputa"> indeksi kolona koje zelimo ucitati iz data seta (a predstavljaju izlazne atribute iz mreze) </param>
        /// <param name="procenatTestPodataka"> Procenat koliko zelimo da imamo testnih podataka od svih ucitanih </param>"
        public FileDAO(List <int> indeksiKolonaZaUcitavanjeInputa, List <int> indeksiKolonaZaUcitavanjeOutputa, int procenatTestPodataka)
        {
            UlazneKoloneTrainSeta  = new List <List <double> >();
            IzlazneKoloneTrainSeta = new List <List <double> >();
            UlazneKoloneTestSeta   = new List <List <double> >();
            IzlazneKoloneTestSeta  = new List <List <double> >();


            Normalizacija      = new NormalizatorPodataka();
            CitacTrainPodataka = new DataReader("train.csv");
            //CitacTestPodataka = new DataReader("test.csv");


            X = new List <List <double> >();
            Y = new List <List <double> >();

            XTest = new List <List <double> >();
            YTest = new List <List <double> >();


            // TRAIN podaci
            UlazneKoloneTrainSeta = ucitajUlazneKolone(indeksiKolonaZaUcitavanjeInputa, CitacTrainPodataka);
            odrediInpute(procenatTestPodataka);

            IzlazneKoloneTrainSeta = ucitajIzlazneKolone(indeksiKolonaZaUcitavanjeOutputa, CitacTrainPodataka);
            odrediOutpute(procenatTestPodataka);

            // TEST podaci - OVDE IH NEMAM U POSEBNOM FAJLU NEGO SVE U TRAINU
            //UlazneKoloneTestSeta = ucitajUlazneKolone(indeksiKolonaZaUcitavanjeInputa, CitacTestPodataka);
            //odrediInputeTestSeta();

            //IzlazneKoloneTestSeta = ucitajIzlazneKolone(indeksiKolonaZaUcitavanjeOutputa, CitacTestPodataka);
            //odrediOutputeTestSeta();
        }
        /// <summary>
        /// Proslediti indekse kolona za ucitavanje kako bi setovali X inpute,
        /// a proslediti indekse kolona koje predstavljaju izlaze kako bi setovali Y odnosno
        /// OUTPUT-e mreze.
        /// </summary>
        /// <param name="indeksiKolonaZaUcitavanjeInputa"> indeksi kolona koje zelimo ucitati iz data seta ( a predstavljaju ulazne atribute u mrezu ) </param>
        /// <param name="indeksiKolonaZaUcitavanjeOutputa"> indeksi kolona koje zelimo ucitati iz data seta (a predstavljaju izlazne atribute iz mreze) </param>
        /// <param name="procenatTestPodataka"> Procenat koliko zelimo da imamo testnih podataka od svih ucitanih </param>"
        public FileDAO(List <int> indeksiKolonaZaUcitavanjeInputa, List <int> indeksiKolonaZaUcitavanjeOutputa, int procenatTestPodataka)
        {
            UlazneKolone  = new List <List <double> >();
            IzlazneKolone = new List <List <double> >();

            Normalizacija = new NormalizatorPodataka();
            CitacPodataka = new DataReader();

            X = new List <List <double> >();
            Y = new List <List <double> >();

            XTest = new List <List <double> >();
            YTest = new List <List <double> >();

            ucitajUlazneKolone(indeksiKolonaZaUcitavanjeInputa);
            odrediInpute(procenatTestPodataka);

            ucitajIzlazneKolone(indeksiKolonaZaUcitavanjeOutputa);
            odrediOutpute(procenatTestPodataka);
        }