private List <double> generujWektory(Iris iris) { List <double> tmpWektory = new List <double>(); int liczba = iris.Atrybuty.Count; Random los = new Random(); for (int i = 0; i < liczba; i++) { tmpWektory.Add(los.NextDouble()); } return(tmpWektory); }
public bool czySetosa(Iris obj) { Console.WriteLine("CZY SETOSA THETA ROWNA SIE " + B); double tmp = Iloczyn(Wektory, obj.Atrybuty); Console.WriteLine("Iloczyn = " + tmp); if (tmp < B) { return(true); } else { return(false); } }
static void Main(string[] args) { var daneTreningowe = @"iris_training.txt"; var daneTestowe = @"iris_test.txt"; Console.WriteLine(AppDomain.CurrentDomain.BaseDirectory + @"iris_training.txt"); List <string[]> daneTreningoweStringList = PobierzDane(daneTreningowe); List <string[]> daneTestoweStringList = PobierzDane(daneTestowe); List <Iris> daneTreningoweRawList = WczytajIrisy(daneTreningoweStringList); List <Iris> daneTestoweRawList = WczytajIrisy(daneTestoweStringList); Shuffle(daneTreningoweRawList); Shuffle(daneTestoweRawList); /* ********************** ********************** ********************** ********************** ********************** KONSOLA ********************** ********************** ********************** ********************** ********************** */ Console.WriteLine(" "); Console.WriteLine(" "); Console.WriteLine("Prosze o podanie wartosci parmetru A dla perceptronu"); Console.WriteLine(" "); double A = double.Parse(Console.ReadLine().Replace('.', ','), CultureInfo.CurrentCulture); Perceptron percep = new Perceptron(A, daneTreningoweRawList); percep.Trenuj(IRIS_SETOSA); Console.WriteLine("Jesli chcesz sprawdzic dane z pliku iris_test.txt wpisz komende: "); Console.WriteLine("test"); Console.WriteLine(" "); Console.WriteLine("Jeśli chcesz podać własny wektor wpisz komende: "); Console.WriteLine("wektor"); Console.WriteLine(" "); Console.WriteLine("Aby zmienić wartość A wpisz komende "); Console.WriteLine("a"); Console.WriteLine("Aby uczyc dalej wpisz komende "); Console.WriteLine("ucz"); Console.WriteLine("Aby zakonczyc dzialanie programu wpisz komende "); Console.WriteLine("exit"); Console.WriteLine(" "); string comand = " "; while ((comand = Console.ReadLine()) != CLOSE_PROGRAM) { if (comand == "a") { Console.WriteLine("Prosze o podanie wartosci parmetru A dla perceptronu"); Console.WriteLine(" "); A = double.Parse(Console.ReadLine().Replace('.', ','), CultureInfo.CurrentCulture); percep.Trenuj(IRIS_SETOSA); } if (comand == "ucz") { Console.WriteLine("nauka... "); percep.Trenuj(IRIS_SETOSA); Console.WriteLine("skonczona "); } if (comand == "test") { Console.WriteLine(" "); Console.WriteLine(" "); Console.WriteLine("Klasyfikacja danych testowych"); Console.WriteLine(" "); Console.WriteLine(" "); percep.OkreslGatunekIrisaSprwadzajacPoprawnosc(daneTestoweRawList); Console.WriteLine("-----"); Console.WriteLine( percep.Wektory[0] + " " + percep.Wektory[1] + " " + percep.Wektory[2] + " " + percep.Wektory[3]); } if (comand == "wektor") { Console.WriteLine("Prosze pamietac ze wektor musi byc podany zgodnie z liczba atrybutow w pliku treningowym"); Console.WriteLine("Akceptowalny format: x,y np 2,5"); List <double> tmpWektor = new List <double>(); for (int i = 0; i < daneTreningoweRawList[0].Atrybuty.Count; i++) { Console.WriteLine("Podaj atrybut nr: " + (i + 1)); string tmpStr = Console.ReadLine(); if (tmpStr.Length != 0) { tmpWektor.Add(double.Parse(tmpStr.Replace('.', ','), CultureInfo.CurrentCulture)); } else { Console.WriteLine("Nie wprowadzono zadnego atrybutu, zatem jego wartosc zostaje ustawiona na 0 " + i); tmpWektor.Add(0.0); } } Iris kwiatek = new Iris { Atrybuty = tmpWektor }; if (percep.czySetosa(kwiatek)) { Console.WriteLine("Gatunek to: " + IRIS_SETOSA); } else { Console.WriteLine("Gatunek to: " + NIE_SETOSA); } Console.WriteLine(""); Console.WriteLine("Aby wpisac nowy wektor wpisz komende wektor"); } Console.WriteLine("Jesli chcesz sprawdzic dane z pliku iris_test.txt wpisz komende: "); Console.WriteLine("test"); Console.WriteLine(" "); Console.WriteLine("Jeśli chcesz podać własny wektor wpisz komende: "); Console.WriteLine("wektor"); Console.WriteLine(" "); Console.WriteLine("Aby zakonczyc dzialanie programu wpisz komende "); Console.WriteLine("exit"); Console.WriteLine(" "); } }