IDE3 #12
6
main.py
6
main.py
@ -7,6 +7,8 @@ from src.Tractor import Tractor
|
|||||||
from src.Plant import Plant
|
from src.Plant import Plant
|
||||||
from src.bfs import Astar
|
from src.bfs import Astar
|
||||||
from src.Field import Field
|
from src.Field import Field
|
||||||
|
import pickle
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
# pygame initialization
|
# pygame initialization
|
||||||
@ -37,6 +39,9 @@ plant_group = pygame.sprite.Group()
|
|||||||
plant_group = seedForFirstTime()
|
plant_group = seedForFirstTime()
|
||||||
fields = return_fields_list()
|
fields = return_fields_list()
|
||||||
|
|
||||||
|
#ID3 TREE
|
||||||
|
tree = pickle.load(open(os.path.join('src','tree.plk'),'rb'))
|
||||||
|
|
||||||
#
|
#
|
||||||
tractor_move = pygame.USEREVENT + 1
|
tractor_move = pygame.USEREVENT + 1
|
||||||
pygame.time.set_timer(tractor_move, 800)
|
pygame.time.set_timer(tractor_move, 800)
|
||||||
@ -50,6 +55,7 @@ mx=int((mx+18)/36)
|
|||||||
my=int((my+18)/36)
|
my=int((my+18)/36)
|
||||||
print("Destination: ", mx,my)
|
print("Destination: ", mx,my)
|
||||||
tmp = WORLD_MATRIX[mx][my]
|
tmp = WORLD_MATRIX[mx][my]
|
||||||
|
print(tmp)
|
||||||
|
|
||||||
moves = goal_astar.search(
|
moves = goal_astar.search(
|
||||||
[tractor.rect.x, tractor.rect.y, directions[tractor.rotation]], destination)
|
[tractor.rect.x, tractor.rect.y, directions[tractor.rotation]], destination)
|
||||||
|
275
src/ID3.ipynb
275
src/ID3.ipynb
File diff suppressed because one or more lines are too long
21
src/ID3.py
21
src/ID3.py
@ -1,14 +1,14 @@
|
|||||||
import pandas as pd
|
import pandas as pd
|
||||||
from sklearn.tree import DecisionTreeClassifier
|
from sklearn.tree import DecisionTreeClassifier
|
||||||
import pickle
|
|
||||||
import os
|
|
||||||
from sklearn import tree
|
from sklearn import tree
|
||||||
|
import os
|
||||||
|
import pickle
|
||||||
import pydotplus
|
import pydotplus
|
||||||
import matplotlib.image as pltimg
|
import matplotlib.image as pltimg
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
|
|
||||||
# Read the CSV file
|
# Read the CSV file
|
||||||
train = pd.read_csv("train_2.csv", delimiter=";")
|
train = pd.read_csv("train_3.csv", delimiter=";")
|
||||||
|
|
||||||
x_train = train.drop('czy_zebrac',axis=1)
|
x_train = train.drop('czy_zebrac',axis=1)
|
||||||
y_train = train['czy_zebrac']
|
y_train = train['czy_zebrac']
|
||||||
@ -16,21 +16,16 @@ y_train = train['czy_zebrac']
|
|||||||
d_tree = DecisionTreeClassifier()
|
d_tree = DecisionTreeClassifier()
|
||||||
d_tree = d_tree.fit(x_train,y_train)
|
d_tree = d_tree.fit(x_train,y_train)
|
||||||
|
|
||||||
# Save the decision tree model as a pickle file in the script's folder
|
pickle.dump(d_tree, open(os.path.join('.','tree.plk'),'wb'))
|
||||||
pickle.dump(d_tree, open('tree.plk', 'wb'))
|
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'])
|
||||||
|
|
||||||
# Export the decision tree as DOT data
|
|
||||||
data = tree.export_graphviz(d_tree, out_file=None)
|
|
||||||
|
|
||||||
# Create a graph from the DOT data
|
|
||||||
graph = pydotplus.graph_from_dot_data(data)
|
graph = pydotplus.graph_from_dot_data(data)
|
||||||
|
|
||||||
# Save the graph as a PNG image in the script's folder
|
# Save the graph as a PNG image in the script's folder
|
||||||
graph.write_png(os.path.join('.', 'mytree.png'))
|
graph.write_png(os.path.join('.', 'mytree.png'))
|
||||||
|
|
||||||
# Read the PNG image
|
# Read the PNG image
|
||||||
img = pltimg.imread(os.path.join('.', 'mytree.png'))
|
# img = pltimg.imread(os.path.join('.', 'mytree.png'))
|
||||||
|
|
||||||
# Display the image
|
# Display the image
|
||||||
imgplot = plt.imshow(img)
|
# imgplot = plt.imshow(img)
|
||||||
plt.show()
|
# plt.show()
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
import pygame
|
import pygame
|
||||||
from settings import block_size, tile
|
from settings import block_size, tile
|
||||||
|
|
||||||
|
mx=0
|
||||||
|
my=0
|
||||||
|
|
||||||
class Tractor(pygame.sprite.Sprite):
|
class Tractor(pygame.sprite.Sprite):
|
||||||
def __init__(self, engine, transmission, fuel, fertilizer, capacity):
|
def __init__(self, engine, transmission, fuel, fertilizer, capacity):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
@ -25,6 +28,8 @@ class Tractor(pygame.sprite.Sprite):
|
|||||||
self.fuel = fuel
|
self.fuel = fuel
|
||||||
self.fertilizer = fertilizer
|
self.fertilizer = fertilizer
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def movement_using_keys(self):
|
def movement_using_keys(self):
|
||||||
keys = pygame.key.get_pressed()
|
keys = pygame.key.get_pressed()
|
||||||
|
|
||||||
@ -48,6 +53,7 @@ class Tractor(pygame.sprite.Sprite):
|
|||||||
if self.rect.x > 0 and self.rotation == 270:
|
if self.rect.x > 0 and self.rotation == 270:
|
||||||
self.rect.x -= block_size
|
self.rect.x -= block_size
|
||||||
|
|
||||||
|
|
||||||
def move_left(self):
|
def move_left(self):
|
||||||
self.rotation -= 90
|
self.rotation -= 90
|
||||||
if self.rotation < 0:
|
if self.rotation < 0:
|
||||||
@ -69,6 +75,7 @@ class Tractor(pygame.sprite.Sprite):
|
|||||||
self.image = self.left
|
self.image = self.left
|
||||||
|
|
||||||
def movement(self, direction):
|
def movement(self, direction):
|
||||||
|
print(int((self.rect.x-18)/36),';',int((self.rect.y-18)/36))
|
||||||
if direction == 'F':
|
if direction == 'F':
|
||||||
self.move_forward()
|
self.move_forward()
|
||||||
elif direction == 'L':
|
elif direction == 'L':
|
||||||
|
Binary file not shown.
BIN
src/mytree.png
BIN
src/mytree.png
Binary file not shown.
After Width: | Height: | Size: 42 KiB |
202
src/train_2.csv
202
src/train_2.csv
@ -1,202 +0,0 @@
|
|||||||
wzrost;wilgotnosc;dni_od_nawiezienia;aktualna_pogoda;czy_roslina_robaczywa;typ_rosliny;pojemnosc_ekwipunku;cena_sprzedarzy;czy_zebrac
|
|
||||||
54;19;15;0;0;0;90;66;0
|
|
||||||
64;63;5;0;0;0;16;4;0
|
|
||||||
93;0;29;0;1;0;77;73;1
|
|
||||||
30;43;23;0;1;0;74;75;1
|
|
||||||
48;30;10;0;0;0;39;23;0
|
|
||||||
44;86;2;0;1;0;41;64;0
|
|
||||||
99;74;8;0;1;0;39;37;0
|
|
||||||
70;80;25;0;1;0;11;90;1
|
|
||||||
62;35;2;0;1;0;53;57;0
|
|
||||||
32;71;29;0;1;0;21;54;1
|
|
||||||
59;27;11;0;0;0;71;68;0
|
|
||||||
43;97;24;0;0;0;82;70;0
|
|
||||||
24;49;1;0;0;0;22;40;0
|
|
||||||
60;59;18;0;1;0;29;99;1
|
|
||||||
100;87;23;0;1;0;69;55;1
|
|
||||||
5;88;24;0;1;0;54;87;1
|
|
||||||
35;92;17;0;1;0;30;100;1
|
|
||||||
9;89;29;0;0;0;35;24;0
|
|
||||||
58;7;11;0;1;0;6;62;1
|
|
||||||
98;88;1;0;1;0;100;88;0
|
|
||||||
14;74;7;0;1;0;71;24;0
|
|
||||||
6;67;18;0;0;0;72;12;0
|
|
||||||
53;41;25;0;0;0;45;56;0
|
|
||||||
35;40;1;0;0;0;61;36;0
|
|
||||||
93;17;15;0;1;0;63;0;1
|
|
||||||
20;70;19;0;1;0;14;88;1
|
|
||||||
12;57;24;0;1;0;10;90;1
|
|
||||||
59;67;7;0;0;0;35;90;0
|
|
||||||
79;29;8;0;1;0;59;37;0
|
|
||||||
48;81;14;0;1;0;85;78;1
|
|
||||||
41;32;8;0;0;0;5;26;0
|
|
||||||
6;62;1;0;0;0;75;22;0
|
|
||||||
18;74;5;0;1;0;9;32;0
|
|
||||||
62;44;7;0;0;0;0;87;0
|
|
||||||
34;19;14;0;0;0;83;92;0
|
|
||||||
84;39;15;0;1;0;8;86;1
|
|
||||||
55;39;4;0;1;0;31;63;0
|
|
||||||
17;58;2;0;1;0;33;22;0
|
|
||||||
95;12;17;0;0;0;51;16;0
|
|
||||||
85;91;5;0;1;0;19;8;0
|
|
||||||
62;87;1;0;1;0;22;48;0
|
|
||||||
50;21;15;0;0;0;76;55;0
|
|
||||||
21;84;8;0;0;0;63;87;0
|
|
||||||
87;36;9;0;0;0;62;69;0
|
|
||||||
60;85;22;0;0;0;98;24;0
|
|
||||||
72;0;18;0;1;0;31;36;1
|
|
||||||
60;41;29;0;1;0;11;60;1
|
|
||||||
43;50;20;0;1;0;53;66;1
|
|
||||||
56;24;10;0;1;0;91;87;1
|
|
||||||
30;75;29;0;0;0;83;36;0
|
|
||||||
86;62;13;0;1;0;97;26;1
|
|
||||||
69;35;10;0;1;0;25;100;1
|
|
||||||
98;55;11;0;0;0;66;18;0
|
|
||||||
71;23;26;0;1;0;47;88;1
|
|
||||||
97;88;0;0;1;0;37;55;0
|
|
||||||
89;90;17;0;0;0;50;47;0
|
|
||||||
84;44;1;0;0;0;99;86;0
|
|
||||||
57;72;12;0;1;0;85;44;1
|
|
||||||
89;65;20;0;0;0;39;16;0
|
|
||||||
31;100;7;0;0;0;64;66;0
|
|
||||||
45;47;3;0;1;0;76;35;0
|
|
||||||
21;52;27;0;1;0;90;15;1
|
|
||||||
7;30;8;0;0;0;39;70;0
|
|
||||||
42;67;27;0;0;0;72;82;0
|
|
||||||
88;69;28;0;1;0;85;63;1
|
|
||||||
84;62;21;0;1;0;43;16;1
|
|
||||||
41;62;25;0;1;0;26;24;1
|
|
||||||
18;39;9;0;1;0;70;96;0
|
|
||||||
75;60;16;0;1;0;37;64;1
|
|
||||||
66;9;29;0;1;0;3;84;1
|
|
||||||
2;92;25;0;0;0;2;19;0
|
|
||||||
100;20;11;0;0;0;45;65;0
|
|
||||||
21;19;8;0;1;0;82;2;0
|
|
||||||
93;37;10;0;0;0;57;3;0
|
|
||||||
35;12;5;0;1;0;48;96;0
|
|
||||||
62;12;4;0;0;0;94;1;0
|
|
||||||
82;73;12;0;1;0;66;81;1
|
|
||||||
43;74;15;0;1;0;43;70;1
|
|
||||||
54;76;11;0;1;0;80;88;1
|
|
||||||
51;64;26;0;1;0;31;21;1
|
|
||||||
14;12;12;0;1;0;97;17;1
|
|
||||||
58;59;22;0;0;0;79;36;0
|
|
||||||
17;48;17;0;0;0;81;72;0
|
|
||||||
47;2;12;0;1;0;3;22;1
|
|
||||||
38;52;13;0;0;0;31;46;0
|
|
||||||
32;19;4;0;1;0;30;85;0
|
|
||||||
9;28;29;0;0;0;20;46;0
|
|
||||||
98;0;15;0;1;0;72;15;1
|
|
||||||
95;33;0;0;1;0;33;11;0
|
|
||||||
55;56;10;0;0;0;28;56;0
|
|
||||||
18;22;13;0;0;0;94;90;0
|
|
||||||
81;28;17;0;1;0;95;29;1
|
|
||||||
96;6;6;0;0;0;14;89;0
|
|
||||||
58;26;24;0;0;0;70;76;0
|
|
||||||
83;33;16;0;1;0;31;54;1
|
|
||||||
90;48;29;0;1;0;55;40;1
|
|
||||||
65;72;4;0;1;0;70;10;0
|
|
||||||
74;100;14;0;1;0;44;24;1
|
|
||||||
56;25;30;0;1;0;84;16;1
|
|
||||||
14;75;29;0;1;0;42;9;1
|
|
||||||
90;51;2;0;1;0;86;79;0
|
|
||||||
60;31;25;0;0;0;43;54;0
|
|
||||||
74;1;2;0;0;0;17;76;0
|
|
||||||
86;72;16;0;1;0;38;53;1
|
|
||||||
70;69;19;0;0;0;40;63;0
|
|
||||||
37;18;24;0;1;0;84;78;1
|
|
||||||
48;77;7;0;0;0;99;42;0
|
|
||||||
90;92;5;0;0;0;80;48;0
|
|
||||||
99;74;9;0;1;0;41;68;0
|
|
||||||
58;18;5;0;1;0;53;94;0
|
|
||||||
42;22;10;0;1;0;24;17;1
|
|
||||||
44;34;29;0;0;0;86;8;0
|
|
||||||
79;13;0;0;0;0;31;43;0
|
|
||||||
16;54;28;0;0;0;26;84;0
|
|
||||||
44;44;12;0;0;0;60;94;0
|
|
||||||
36;6;9;0;0;0;90;90;0
|
|
||||||
33;43;5;0;1;0;5;86;0
|
|
||||||
24;5;0;0;0;0;47;41;0
|
|
||||||
87;67;11;0;1;0;70;32;1
|
|
||||||
62;76;6;0;1;0;33;96;0
|
|
||||||
48;85;25;0;1;0;41;12;1
|
|
||||||
31;15;13;0;1;0;87;18;1
|
|
||||||
27;69;2;0;0;0;38;2;0
|
|
||||||
4;98;24;0;1;0;22;22;1
|
|
||||||
61;50;20;0;0;0;14;0;0
|
|
||||||
2;31;29;0;1;0;40;0;1
|
|
||||||
53;19;29;0;0;0;34;100;0
|
|
||||||
64;71;13;0;1;0;65;66;1
|
|
||||||
86;67;15;0;1;0;69;34;1
|
|
||||||
33;63;4;0;0;0;87;24;0
|
|
||||||
22;84;8;0;0;0;73;13;0
|
|
||||||
54;64;10;0;1;0;13;65;1
|
|
||||||
51;25;4;0;1;0;26;0;0
|
|
||||||
1;95;14;0;0;0;83;64;0
|
|
||||||
8;32;19;0;1;0;96;77;1
|
|
||||||
47;97;10;0;1;0;74;16;1
|
|
||||||
30;65;24;0;0;0;83;89;0
|
|
||||||
76;58;7;0;0;0;73;86;0
|
|
||||||
84;41;17;0;1;0;68;78;1
|
|
||||||
50;61;9;0;0;0;6;72;0
|
|
||||||
37;12;8;0;1;0;11;46;0
|
|
||||||
7;91;29;0;0;0;1;7;0
|
|
||||||
64;69;4;0;1;0;57;28;0
|
|
||||||
21;71;3;0;0;0;53;23;0
|
|
||||||
58;54;13;0;0;0;19;1;0
|
|
||||||
96;11;22;0;0;0;46;12;0
|
|
||||||
85;41;2;0;1;0;28;24;0
|
|
||||||
58;11;13;0;0;0;90;41;0
|
|
||||||
49;8;30;0;0;0;63;39;0
|
|
||||||
70;72;9;0;0;0;56;65;0
|
|
||||||
82;39;20;0;1;0;98;55;1
|
|
||||||
43;67;28;0;0;0;33;27;0
|
|
||||||
70;48;6;0;1;0;58;2;0
|
|
||||||
10;89;0;0;0;0;46;52;0
|
|
||||||
73;18;24;0;0;0;65;40;0
|
|
||||||
84;29;26;0;1;0;80;30;1
|
|
||||||
32;83;0;0;0;0;68;100;0
|
|
||||||
17;40;14;0;1;0;47;44;1
|
|
||||||
5;77;30;0;1;0;44;65;1
|
|
||||||
27;95;29;0;1;0;71;81;1
|
|
||||||
27;39;15;0;1;0;22;13;1
|
|
||||||
81;96;23;0;1;0;61;89;1
|
|
||||||
84;58;19;0;1;0;84;62;1
|
|
||||||
23;40;21;0;0;0;64;13;0
|
|
||||||
57;61;20;0;0;0;84;10;0
|
|
||||||
31;55;3;0;0;0;98;26;0
|
|
||||||
25;33;2;0;1;0;68;75;0
|
|
||||||
56;15;6;0;1;0;34;51;0
|
|
||||||
45;60;20;0;0;0;9;51;0
|
|
||||||
14;42;19;0;0;0;49;46;0
|
|
||||||
41;100;17;0;0;0;71;18;0
|
|
||||||
38;38;20;0;1;0;41;5;1
|
|
||||||
73;99;17;0;0;0;99;45;0
|
|
||||||
43;62;21;0;1;0;57;58;1
|
|
||||||
99;31;18;0;1;0;51;52;1
|
|
||||||
83;4;9;0;1;0;3;65;0
|
|
||||||
53;71;26;0;0;0;93;78;0
|
|
||||||
18;28;13;0;1;0;34;76;1
|
|
||||||
22;29;29;0;1;0;47;68;1
|
|
||||||
96;40;9;0;1;0;91;51;0
|
|
||||||
24;74;9;0;1;0;57;4;0
|
|
||||||
58;56;1;0;1;0;17;40;0
|
|
||||||
43;39;20;0;0;0;81;77;0
|
|
||||||
24;6;9;0;1;0;90;42;0
|
|
||||||
32;100;16;0;0;0;56;71;0
|
|
||||||
75;25;6;0;0;0;48;18;0
|
|
||||||
80;96;27;0;0;0;62;84;0
|
|
||||||
57;90;19;0;0;0;81;26;0
|
|
||||||
1;18;12;0;0;0;4;0;0
|
|
||||||
28;79;11;0;1;0;95;19;1
|
|
||||||
20;4;11;0;0;0;96;64;0
|
|
||||||
37;80;14;0;1;0;97;64;1
|
|
||||||
2;24;23;0;0;0;63;52;0
|
|
||||||
54;97;18;0;1;0;20;65;1
|
|
||||||
42;44;20;0;0;0;33;20;0
|
|
||||||
68;51;12;0;1;0;76;90;1
|
|
||||||
93;77;24;0;1;0;41;59;1
|
|
||||||
74;94;21;0;1;0;17;39;1
|
|
||||||
63;63;26;0;1;0;67;2;1
|
|
||||||
65;73;1;0;0;0;74;40;0
|
|
||||||
100;39;19;0;0;0;41;9;0
|
|
|