diff --git a/main.py b/main.py index 9902dd2..ae78dfa 100644 --- a/main.py +++ b/main.py @@ -58,8 +58,7 @@ mx=int((mx+18)/36) my=int((my+18)/36) print("Destination: ", mx,my) -#POBIERZ MATRIXA OBJEKT FILD, Z FIELD POBIERZ PLANT, Z PLANTA PARAMETRY, WYWOŁAJ DECYCJNOSC -#ID3 TREE +#ID3 TREE LOADING dtree = pickle.load(open(os.path.join('src','tree.plk'),'rb')) # pobierz dane o polu field i czy ma na sobie roslinke, zadecyduj czy zebrac @@ -68,6 +67,7 @@ this_contain = Field.getContain(this_field) if isinstance(this_contain, Plant): this_plant = this_contain params=Plant.getParameters(this_plant) + #ID3 decision decision=make_decision(params[0],params[1],params[2],params[3],params[4],tractor.fuel,tractor.capacity,params[5],dtree) print('wzorst',params[0],'wilgotnosc',params[1],'dni_od_nawiezienia',params[2],'pogoda',params[3],'zdrowa',params[4],'paliwo',tractor.fuel,'pojemnosc eq',tractor.capacity,'cena sprzedazy',params[5]) print(decision) diff --git a/src/ID3.py b/src/ID3.py index 433a529..17f9fc2 100644 --- a/src/ID3.py +++ b/src/ID3.py @@ -13,10 +13,10 @@ def make_decision(Wzrost, wilgotnosc, dni_od_nawiezienia, aktualna_pogoda, czy_r def learnTree(): # Read the CSV file - train = pd.read_csv("src/train_3.csv", delimiter=";") + train = pd.read_csv("./train_3.csv") - # print(f'Shape: {train.shape}') - # print(f'Head:\n{train.head()}') + print(f'Shape: {train.shape}') + print(f'Head:\n{train.head()}') x_train = train.drop('czy_zebrac',axis=1) y_train = train['czy_zebrac'] @@ -24,7 +24,7 @@ def learnTree(): d_tree = DecisionTreeClassifier() d_tree = d_tree.fit(x_train,y_train) - pickle.dump(d_tree, open(os.path.join('.','tree.plk'),'wb')) + pickle.dump(d_tree, open(os.path.join('.','tree.plk'),'wb')) #1-4 1 śnieg, 2 deszcz, 3 wiatr, 4 slonce data = tree.export_graphviz(d_tree, out_file=None, feature_names=['Wzrost','wilgotnosc','dni_od_nawiezienia','aktualna_pogoda','czy_roslina_robaczywa','paliwo','pojemnosc_ekwipunku','cena_sprzedarzy']) graph = pydotplus.graph_from_dot_data(data) @@ -32,14 +32,13 @@ def learnTree(): graph.write_png(os.path.join('.', 'mytree.png')) # Read the PNG image - # img = pltimg.imread(os.path.join('.', 'mytree.png')) - # Display the image - # imgplot = plt.imshow(img) - # plt.show() + img = pltimg.imread(os.path.join('.', 'mytree.png')) + imgplot = plt.imshow(img) + plt.show() return d_tree # dtree = learnTree() #w, w, d, p,R,P,P,S - #przy robaczywej == 1 daje ok czyli jak 1 to git jest mozna zbierac, ale planowalem inaczej -# decision=make_decision(70,85,12,3,1,65,54,1000,dtree) +# #przy robaczywej == 1 daje ok czyli jak 1 to git jest mozna zbierac, ale planowalem inaczej +# decision=make_decision(70,85,12,4,0,65,54,1500,dtree) # print(decision) diff --git a/src/__pycache__/ID3.cpython-310.pyc b/src/__pycache__/ID3.cpython-310.pyc index a9a6151..ac80307 100644 Binary files a/src/__pycache__/ID3.cpython-310.pyc and b/src/__pycache__/ID3.cpython-310.pyc differ diff --git a/src/__pycache__/map.cpython-310.pyc b/src/__pycache__/map.cpython-310.pyc index cee2793..b957405 100644 Binary files a/src/__pycache__/map.cpython-310.pyc and b/src/__pycache__/map.cpython-310.pyc differ diff --git a/src/map.py b/src/map.py index 4676762..701d238 100644 --- a/src/map.py +++ b/src/map.py @@ -73,12 +73,12 @@ def seedForFirstTime(): # wzrost;wilgotnosc;dni_od_nawiezienia;aktualna_pogoda;czy_roslina_robaczywa;typ_rosliny;pojemnosc_ekwipunku;cena_sprzedarzy;czy_zebrac new_plant = Plant( - wzrost=random.randint(0, 100), + wzrost=random.randint(20, 100), wilgotnosc=random.randint(0, 100), dni_od_nawiezienia=random.randint(0, 31), aktualna_pogoda=random.randint(1,4), czy_robaczywa=random.randint(0, 1), - cena_sprzedarzy=random.randint(500, 2000), + cena_sprzedarzy=random.randint(1000, 2000), species=plant_name, pos_x=x, pos_y=y) diff --git a/src/mytree.png b/src/mytree.png index 7389bda..0b10e50 100644 Binary files a/src/mytree.png and b/src/mytree.png differ diff --git a/src/train_3.csv b/src/train_3.csv index c6bf386..e617ded 100644 --- a/src/train_3.csv +++ b/src/train_3.csv @@ -1,202 +1,202 @@ -Wzrost;wilgotnosc;dni_od_nawiezienia;aktualna_pogoda;czy_roslina_robaczywa;paliwo;pojemnosc_ekwipunku;cena_sprzedarzy;czy_zebrac -23;78;12;2;1;78;88;91;1 -39;31;15;4;1;82;37;87;0 -12;41;21;2;1;62;28;33;1 -2;42;11;1;1;68;96;40;1 -43;16;20;3;0;91;23;85;0 -9;8;8;1;1;78;28;16;0 -47;0;23;2;0;94;46;45;0 -70;85;12;3;1;65;14;54;1 -34;76;15;2;0;80;13;84;0 -22;24;6;3;0;17;19;62;0 -79;9;17;4;0;94;75;80;0 -56;30;0;3;1;43;55;6;0 -45;34;12;3;1;93;80;97;1 -49;15;26;1;1;48;76;14;1 -69;16;13;4;1;10;13;28;0 -74;97;9;1;1;97;25;47;0 -37;40;19;4;0;65;81;24;0 -83;26;3;2;0;91;62;16;0 -52;37;0;3;0;93;4;89;0 -67;68;30;4;0;34;3;62;0 -96;93;18;4;0;42;5;45;0 -90;22;11;3;1;59;69;0;1 -38;10;17;4;1;57;33;1;0 -62;51;23;3;1;55;60;76;1 -64;44;5;2;1;92;85;22;0 -93;87;25;2;0;61;41;44;0 -46;45;16;4;1;85;46;1;0 -12;41;28;4;0;26;42;74;0 -40;27;23;3;0;66;100;3;0 -0;53;20;1;1;52;61;11;1 -31;10;3;1;1;97;87;99;0 -40;72;0;2;1;39;39;72;0 -19;19;27;3;1;25;68;91;1 -44;85;11;4;1;49;78;35;0 -83;60;11;3;1;56;68;83;1 -6;85;2;2;1;33;46;0;0 -99;83;18;4;0;37;81;21;0 -87;54;13;2;1;84;26;43;1 -27;96;0;1;1;20;55;80;0 -44;79;30;1;1;77;43;12;1 -14;84;26;4;0;13;13;38;0 -11;84;28;1;1;43;55;75;1 -75;10;19;3;0;94;22;37;0 -88;52;20;2;1;17;87;2;1 -38;81;14;1;0;86;91;2;0 -35;34;12;1;1;36;69;16;1 -87;19;16;3;0;66;36;56;0 -23;87;5;1;1;69;54;29;0 -66;98;17;3;1;81;82;20;1 -39;32;29;4;0;39;48;96;0 -29;7;15;4;0;57;93;38;0 -80;54;7;2;0;37;22;73;0 -33;70;19;2;1;85;80;3;1 -81;55;2;2;1;20;10;70;0 -77;9;29;2;0;10;21;91;0 -34;20;4;4;0;54;41;36;0 -16;52;28;1;0;18;33;92;0 -41;47;17;1;0;42;36;38;0 -46;25;0;3;0;19;52;7;0 -89;4;13;3;1;10;14;17;1 -88;6;26;2;0;70;27;64;0 -87;4;20;2;0;28;22;44;0 -93;78;21;2;1;94;6;70;1 -51;58;20;3;0;82;40;78;0 -99;12;21;4;1;83;18;90;0 -6;17;11;2;1;100;91;29;1 -96;50;24;3;0;39;58;91;0 -94;98;14;2;0;29;11;65;0 -79;13;21;2;1;76;85;49;1 -56;71;28;2;1;33;89;91;1 -46;19;26;4;0;52;58;3;0 -27;81;28;2;1;77;71;99;1 -6;35;22;2;1;76;60;58;1 -99;80;29;1;0;13;19;9;0 -24;23;22;2;1;10;66;80;1 -48;91;26;4;0;61;41;66;0 -67;71;21;3;1;100;99;87;1 -60;29;25;3;0;20;79;92;0 -34;65;0;4;0;76;29;62;0 -6;56;2;2;1;63;25;92;0 -77;31;27;2;1;42;51;34;1 -65;28;0;2;0;29;69;30;0 -84;75;0;2;0;23;36;59;0 -10;13;14;2;1;57;2;36;1 -48;58;8;2;1;69;56;37;0 -71;16;27;3;1;100;56;34;1 -43;97;29;2;1;30;37;5;1 -2;91;29;2;0;88;60;99;0 -70;67;19;1;0;100;55;93;0 -63;74;10;2;1;92;69;63;1 -88;69;13;4;0;27;38;45;0 -78;67;27;4;0;59;28;7;0 -58;69;28;3;0;52;23;7;0 -79;60;30;4;1;24;38;76;0 -88;98;10;1;0;71;30;37;0 -90;89;28;1;0;23;17;92;0 -31;32;29;4;1;82;45;23;0 -57;50;20;1;0;12;94;45;0 -20;88;3;2;1;44;94;63;0 -24;71;3;1;0;40;19;23;0 -50;46;2;2;0;70;96;52;0 -78;46;11;2;1;99;49;12;1 -43;98;10;3;0;12;87;85;0 -23;41;12;1;0;94;29;84;0 -98;37;8;3;0;49;99;44;0 -84;82;24;3;0;36;79;40;0 -56;78;16;3;0;34;89;87;0 -79;39;1;4;1;62;54;40;0 -92;31;17;1;1;55;15;56;1 -4;32;15;3;1;95;60;62;1 -74;28;16;1;0;52;70;54;0 -12;2;28;4;1;21;54;18;0 -43;51;16;3;0;67;45;32;0 -30;36;14;3;1;63;15;49;1 -55;46;19;4;1;81;57;18;0 -74;95;5;2;1;52;29;78;0 -66;64;13;2;0;19;84;83;0 -60;73;11;4;0;41;3;65;0 -100;90;7;3;1;54;3;80;0 -84;90;15;2;1;59;16;27;1 -74;28;20;2;0;17;95;10;0 -7;63;11;2;0;46;5;22;0 -61;79;16;3;1;84;56;31;1 -13;4;0;1;0;73;51;92;0 -94;32;3;1;1;13;4;32;0 -85;72;14;3;0;10;56;78;0 -62;70;24;1;1;44;45;9;1 -26;11;9;1;0;92;10;34;0 -78;56;1;1;0;10;99;95;0 -85;55;23;4;0;89;83;84;0 -34;83;11;1;1;30;74;100;1 -69;34;14;4;0;57;60;1;0 -91;12;23;1;0;32;43;80;0 -23;54;27;2;1;53;54;30;1 -47;80;24;1;0;23;33;74;0 -79;40;27;3;0;13;78;55;0 -29;40;11;3;0;96;48;92;0 -29;15;22;1;0;22;93;8;0 -59;28;1;2;1;22;63;51;0 -33;55;5;1;0;32;29;90;0 -88;67;2;2;1;61;93;34;0 -75;41;19;3;1;47;64;0;1 -48;53;21;3;1;39;2;73;1 -1;96;9;2;0;98;13;76;0 -10;90;22;2;0;23;12;68;0 -58;70;6;4;0;96;83;60;0 -67;71;19;3;1;90;93;62;1 -2;78;8;1;1;62;48;42;0 -97;12;19;4;1;97;70;74;0 -83;93;5;2;1;73;12;63;0 -42;49;4;3;0;39;72;80;0 -69;52;29;3;1;94;26;25;1 -60;84;0;2;0;43;70;92;0 -15;27;7;2;1;92;6;42;0 -7;54;13;3;1;68;70;63;1 -34;38;7;4;0;86;58;68;0 -43;40;15;4;1;61;83;63;0 -96;66;22;1;1;94;43;10;1 -9;26;18;2;1;41;5;11;1 -94;96;30;4;0;26;47;33;0 -41;80;8;4;0;34;1;29;0 -34;3;3;2;0;33;48;93;0 -47;73;23;3;0;53;53;29;0 -19;26;25;3;0;27;45;22;0 -43;52;14;1;1;90;32;84;1 -1;0;12;1;1;94;11;89;1 -52;22;28;2;1;100;24;55;1 -24;25;13;2;0;97;0;43;0 -68;8;1;3;1;39;71;54;0 -91;12;13;2;0;15;39;14;0 -53;55;12;1;1;53;17;34;1 -70;91;26;1;1;33;24;19;1 -1;77;14;4;1;88;96;62;0 -93;59;5;2;0;43;28;19;0 -71;27;27;4;1;33;17;80;0 -86;72;5;1;0;34;38;23;0 -15;84;29;4;0;66;71;81;0 -1;16;30;1;0;18;6;87;0 -38;34;28;3;0;60;72;15;0 -43;94;20;3;1;73;84;89;1 -28;52;5;3;0;50;0;48;0 -4;16;27;1;1;87;72;10;1 -60;1;19;2;1;41;31;69;1 -91;80;18;1;1;63;11;92;1 -59;58;5;2;1;24;71;8;0 -21;24;14;3;1;17;75;71;1 -35;61;12;3;1;31;51;53;1 -73;6;14;1;1;45;10;45;1 -17;79;12;1;0;23;35;72;0 -18;6;17;4;0;30;97;63;0 -58;81;18;3;0;14;53;97;0 -24;18;28;3;0;54;39;7;0 -92;63;8;4;0;65;38;49;0 -1;46;6;4;0;29;14;49;0 -83;95;7;1;1;65;99;52;0 -77;25;24;1;1;25;41;56;1 -6;96;7;2;1;91;24;84;0 -17;13;24;4;1;84;99;71;0 -6;60;11;1;0;25;6;95;0 -72;14;0;1;0;82;66;47;0 -30;39;21;3;1;100;48;28;1 +Wzrost,wilgotnosc,dni_od_nawiezienia,aktualna_pogoda,czy_roslina_robaczywa,paliwo,pojemnosc_ekwipunku,cena_sprzedarzy,czy_zebrac +23,78,12,2,1,78,88,1377,0 +39,31,15,4,1,82,37,1969,0 +12,41,21,2,1,62,28,994,0 +2,42,11,1,1,68,96,1291,0 +43,16,20,3,0,91,23,1653,0 +9,8,8,1,1,78,28,1709,0 +47,0,23,2,0,94,46,1702,1 +70,85,12,3,1,65,14,1758,0 +34,76,15,2,0,80,13,1461,1 +22,24,6,3,0,17,19,681,0 +79,9,17,4,0,94,75,1244,1 +56,30,0,3,1,43,55,542,0 +45,34,12,3,1,93,80,1967,0 +49,15,26,1,1,48,76,1095,0 +69,16,13,4,1,10,13,1558,0 +74,97,9,1,1,97,25,1940,0 +37,40,19,4,0,65,81,693,0 +83,26,3,2,0,91,62,1676,1 +52,37,0,3,0,93,4,1756,0 +67,68,30,4,0,34,3,626,1 +96,93,18,4,0,42,5,961,0 +90,22,11,3,1,59,69,824,1 +38,10,17,4,1,57,33,1479,0 +62,51,23,3,1,55,60,587,0 +64,44,5,2,1,92,85,1058,0 +93,87,25,2,0,61,41,1012,1 +46,45,16,4,1,85,46,1609,0 +12,41,28,4,0,26,42,1570,0 +40,27,23,3,0,66,100,1161,1 +0,53,20,1,1,52,61,1636,0 +31,10,3,1,1,97,87,1325,0 +40,72,0,2,1,39,39,1884,0 +19,19,27,3,1,25,68,978,0 +44,85,11,4,1,49,78,754,0 +83,60,11,3,1,56,68,1240,0 +6,85,2,2,1,33,46,793,0 +99,83,18,4,0,37,81,1559,1 +87,54,13,2,1,84,26,1671,0 +27,96,0,1,1,20,55,1332,0 +44,79,30,1,1,77,43,752,0 +14,84,26,4,0,13,13,1032,0 +11,84,28,1,1,43,55,1131,0 +75,10,19,3,0,94,22,1507,1 +88,52,20,2,1,17,87,1218,0 +38,81,14,1,0,86,91,1843,0 +35,34,12,1,1,36,69,1522,0 +87,19,16,3,0,66,36,1412,1 +23,87,5,1,1,69,54,1911,0 +66,98,17,3,1,81,82,1725,0 +39,32,29,4,0,39,48,1378,0 +29,7,15,4,0,57,93,1112,0 +80,54,7,2,0,37,22,953,0 +33,70,19,2,1,85,80,797,0 +81,55,2,2,1,20,10,700,0 +77,9,29,2,0,10,21,1372,1 +34,20,4,4,0,54,41,1046,0 +16,52,28,1,0,18,33,671,0 +41,47,17,1,0,42,36,1100,0 +46,25,0,3,0,19,52,590,1 +89,4,13,3,1,10,14,1500,0 +88,6,26,2,0,70,27,960,0 +87,4,20,2,0,28,22,1584,1 +93,78,21,2,1,94,6,1447,0 +51,58,20,3,0,82,40,1252,1 +99,12,21,4,1,83,18,1441,0 +6,17,11,2,1,100,91,1896,0 +96,50,24,3,0,39,58,1949,1 +94,98,14,2,0,29,11,1286,0 +79,13,21,2,1,76,85,1933,0 +56,71,28,2,1,33,89,1232,0 +46,19,26,4,0,52,58,1412,1 +27,81,28,2,1,77,71,1717,0 +6,35,22,2,1,76,60,1676,0 +99,80,29,1,0,13,19,1824,0 +24,23,22,2,1,10,66,917,0 +48,91,26,4,0,61,41,1740,1 +67,71,21,3,1,100,99,1171,0 +60,29,25,3,0,20,79,1384,1 +34,65,0,4,0,76,29,1428,0 +6,56,2,2,1,63,25,1063,0 +77,31,27,2,1,42,51,1966,0 +65,28,0,2,0,29,69,1207,0 +84,75,0,2,0,23,36,644,0 +10,13,14,2,1,57,2,956,0 +48,58,8,2,1,69,56,1922,0 +71,16,27,3,1,100,56,1274,0 +43,97,29,2,1,30,37,637,0 +2,91,29,2,0,88,60,1084,0 +70,67,19,1,0,100,55,859,0 +63,74,10,2,1,92,69,1108,0 +88,69,13,4,0,27,38,1041,1 +78,67,27,4,0,59,28,1402,1 +58,69,28,3,0,52,23,1360,1 +79,60,30,4,1,24,38,1318,0 +88,98,10,1,0,71,30,1906,0 +90,89,28,1,0,23,17,1499,0 +31,32,29,4,1,82,45,1735,0 +57,50,20,1,0,12,94,1701,0 +20,88,3,2,1,44,94,867,0 +24,71,3,1,0,40,19,1488,0 +50,46,2,2,0,70,96,1356,0 +78,46,11,2,1,99,49,1086,0 +43,98,10,3,0,12,87,1490,1 +23,41,12,1,0,94,29,757,0 +98,37,8,3,0,49,99,663,0 +84,82,24,3,0,36,79,655,1 +56,78,16,3,0,34,89,510,0 +79,39,1,4,1,62,54,1186,0 +92,31,17,1,1,55,15,671,0 +4,32,15,3,1,95,60,829,0 +74,28,16,1,0,52,70,1264,0 +12,2,28,4,1,21,54,1746,0 +43,51,16,3,0,67,45,1239,1 +30,36,14,3,1,63,15,987,0 +55,46,19,4,1,81,57,1295,0 +74,95,5,2,1,52,29,1276,0 +66,64,13,2,0,19,84,1269,1 +60,73,11,4,0,41,3,1241,1 +100,90,7,3,1,54,3,537,0 +84,90,15,2,1,59,16,673,0 +74,28,20,2,0,17,95,748,1 +7,63,11,2,0,46,5,734,0 +61,79,16,3,1,84,56,531,0 +13,4,0,1,0,73,51,1648,0 +94,32,3,1,1,13,4,1785,0 +85,72,14,3,0,10,56,989,1 +62,70,24,1,1,44,45,1356,0 +26,11,9,1,0,92,10,761,0 +78,56,1,1,0,10,99,1925,0 +85,55,23,4,0,89,83,1690,1 +34,83,11,1,1,30,74,1388,0 +69,34,14,4,0,57,60,1498,1 +91,12,23,1,0,32,43,1081,0 +23,54,27,2,1,53,54,912,0 +47,80,24,1,0,23,33,1558,0 +79,40,27,3,0,13,78,1229,1 +29,40,11,3,0,96,48,1391,0 +29,15,22,1,0,22,93,1274,0 +59,28,1,2,1,22,63,1543,0 +33,55,5,1,0,32,29,1590,0 +88,67,2,2,1,61,93,708,0 +75,41,19,3,1,47,64,1696,0 +48,53,21,3,1,39,2,1235,0 +1,96,9,2,0,98,13,982,0 +10,90,22,2,0,23,12,788,0 +58,70,6,4,0,96,83,1039,1 +67,71,19,3,1,90,93,1454,0 +2,78,8,1,1,62,48,1673,0 +97,12,19,4,1,97,70,1419,0 +83,93,5,2,1,73,12,1664,0 +42,49,4,3,0,39,72,607,1 +69,52,29,3,1,94,26,1238,0 +60,84,0,2,0,43,70,1459,1 +15,27,7,2,1,92,6,1141,0 +7,54,13,3,1,68,70,1453,0 +34,38,7,4,0,86,58,1474,0 +43,40,15,4,1,61,83,1320,0 +96,66,22,1,1,94,43,1737,0 +9,26,18,2,1,41,5,735,0 +94,96,30,4,0,26,47,728,1 +41,80,8,4,0,34,1,914,1 +34,3,3,2,0,33,48,1516,0 +47,73,23,3,0,53,53,746,1 +19,26,25,3,0,27,45,613,0 +43,52,14,1,1,90,32,567,0 +1,0,12,1,1,94,11,971,0 +52,22,28,2,1,100,24,804,0 +24,25,13,2,0,97,0,1481,0 +68,8,1,3,1,39,71,706,0 +91,12,13,2,0,15,39,844,1 +53,55,12,1,1,53,17,1288,0 +70,91,26,1,1,33,24,603,0 +1,77,14,4,1,88,96,1419,0 +93,59,5,2,0,43,28,959,1 +71,27,27,4,1,33,17,1158,0 +86,72,5,1,0,34,38,1571,0 +15,84,29,4,0,66,71,1204,0 +1,16,30,1,0,18,6,1299,0 +38,34,28,3,0,60,72,1849,0 +43,94,20,3,1,73,84,530,0 +28,52,5,3,0,50,0,1811,0 +4,16,27,1,1,87,72,1745,0 +60,1,19,2,1,41,31,591,0 +91,80,18,1,1,63,11,1081,0 +59,58,5,2,1,24,71,1124,0 +21,24,14,3,1,17,75,1910,0 +35,61,12,3,1,31,51,1002,0 +73,6,14,1,1,45,10,833,0 +17,79,12,1,0,23,35,530,0 +18,6,17,4,0,30,97,819,0 +58,81,18,3,0,14,53,795,1 +24,18,28,3,0,54,39,1416,0 +92,63,8,4,0,65,38,556,1 +1,46,6,4,0,29,14,1268,0 +83,95,7,1,1,65,99,1100,0 +77,25,24,1,1,25,41,1527,0 +6,96,7,2,1,91,24,889,0 +17,13,24,4,1,84,99,1077,0 +6,60,11,1,0,25,6,1229,0 +72,14,0,1,0,82,66,971,0 +30,39,21,3,1,100,48,624,0 \ No newline at end of file diff --git a/src/tree.plk b/src/tree.plk index 9ed8f15..5df1ab7 100644 Binary files a/src/tree.plk and b/src/tree.plk differ