decision tree

This commit is contained in:
Asiek 2023-05-22 16:08:35 +02:00
parent 335e333eed
commit 1f7b9c780c
19 changed files with 312 additions and 11 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10 (SI projekt)" project-jdk-type="Python SDK" />
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10 (wozek-projekt)" project-jdk-type="Python SDK" />
<component name="PythonCompatibilityInspectionAdvertiser">
<option name="version" value="3" />
</component>

6
.idea/other.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PySciProjectComponent">
<option name="PY_SCI_VIEW_SUGGESTED" value="true" />
</component>
</project>

View File

@ -4,7 +4,7 @@
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/venv" />
</content>
<orderEntry type="jdk" jdkName="Python 3.10 (SI projekt)" jdkType="Python SDK" />
<orderEntry type="jdk" jdkName="Python 3.10 (wozek-projekt)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

6
.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View File

@ -16,10 +16,11 @@ class Package:
def getMarkingImage(self):
file_path_type = ["resources/package/*.jpg"]
images = glob2.glob(random.choice(file_path_type))
markImage = random.choice(images)
print(markImage)
return markImage
mark_image = random.choice(images)
# print(mark_image)
return mark_image
def drawPackage(self):
self.window.blit(self.imageDefault, (self.x, self.y))
pygame.display.flip()
pygame.display.flip()

View File

@ -4,26 +4,66 @@ import a_star
from pygame.locals import *
from Forklift import Forklift
import decision_tree
HORIZONTAL = 1250
VERTICAL = 750
TILE_SIZE = 50
c_label = random.randint(0, 3) # 0 - no label, 1 - fragile, 2 - hazardous, 3 - any other
c_size = random.randint(1, 3) # 1 - small, 2 - medium, 3 - large
c_weight = random.randint(1, 3) # -||-
c_urgent = random.randint(0, 1) # yes/no
c_weekend = random.randint(0, 1) # stays for the weekend yes/no
c_payment_method = random.randint(0, 2) # not paid, prepaid, cash on delivery
c_international = random.randint(1, 4) # domestic, european, us, everywhere else
c_delayed = random.randint(0, 1) # yes/no
# sectors:
# 1 - regular,
# 2 - hazardous,
# 3 - international,
# 4 - overdue
tree = decision_tree.treelearn()
decision = decision_tree.make_decision(tree, c_label, c_size, c_weight, c_urgent, c_weekend, c_payment_method, c_international, c_delayed)
def handle_decision():
global row, col
if decision == '1':
row = 10 + 2 * random.randint(0, 2)
col = random.randint(1, 5) + 6 * random.randint(0, 1)
print('regular')
if decision == '2':
row = 10 + 2 * random.randint(0, 2)
col = random.randint(1, 5) + 6 * random.randint(2, 3)
print('hazardous')
if decision == '3':
row = 2 * random.randint(0, 2)
col = random.randint(1, 5) + 6 * random.randint(0, 1)
print('international')
if decision == '4':
row = 2 * random.randint(0, 2)
col = random.randint(1, 5) + 6 * random.randint(2, 3)
print('overdue')
return row, col
def handle_turn(initial_state, turn_count):
if turn_count % 2 == 0:
commands = a_star.a_star(state=initial_state, goal=(7, 23))
else:
row = random.randint(0, 1) * 10 + 2 * random.randint(0, 2)
col = random.randint(1, 5) + 6 * random.randint(0, 3)
commands = a_star.a_star(state=initial_state, goal=(row, col))
print('I need to go to row: ' + str(row) + ' column: ' + str(col))
# row = random.randint(0, 1) * 10 + 2 * random.randint(0, 2)
# col = random.randint(1, 5) + 6 * random.randint(0, 3)
commands = a_star.a_star(state=initial_state, goal=(handle_decision()))
print('I need to go to row, column: ' + str(handle_decision()))
return commands
class Program:
def __init__(self):
pygame.init()
self.window = pygame.display.set_mode((HORIZONTAL, VERTICAL))
self.caption = pygame.display.set_caption('Autonomiczny wózek widłowy')
@ -33,10 +73,13 @@ class Program:
running = True
turn_count = 0
initial_state = a_star.State(row=int(self.agent.y/50), column=int(self.agent.x/50),
initial_state = a_star.State(row=int(self.agent.y / 50), column=int(self.agent.x / 50),
direction=self.agent.direction)
while running:
handle_decision()
commands = handle_turn(initial_state=initial_state, turn_count=turn_count)
while commands:

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

43
decision_tree.py Normal file
View File

@ -0,0 +1,43 @@
import matplotlib.image as pltimg
import matplotlib.pyplot as plt
import os
import pandas
import pydotplus
from sklearn import tree
from sklearn.tree import DecisionTreeClassifier
def treelearn():
dataframe = pandas.read_csv('./resources/dataset.csv', delimiter=';', header=None, skiprows=1, names=["label", "size", "weight", "urgent", "weekend", "payment_method", "international", "delayed", "sector"])
attributes = ["label", "size", "weight", "urgent", "weekend", "payment_method", "international", "delayed"]
x = dataframe[attributes]
y = dataframe['sector']
#dataframe[["label", ]]=dataframe["label"].str.split(";", expand=True)
dataframe = dataframe['label'].str.split(';', n=8, expand=True)
x = dataframe.iloc[:, 0:8]
y = dataframe.iloc[:, -1:]
print(attributes)
# print(y)
decision_tree = DecisionTreeClassifier()
decision_tree = decision_tree.fit(x, y)
# visualize and display decision tree
data = tree.export_graphviz(decision_tree, out_file=None, feature_names=attributes)
graph = pydotplus.graph_from_dot_data(data)
graph.write_png(os.path.join('resources', 'decision_tree.png'))
img = pltimg.imread(os.path.join('resources', 'decision_tree.png'))
imgplot = plt.imshow(img)
plt.show()
return decision_tree
def make_decision(tree, label, size, weight, urgent, weekend, payment_method, international,
delayed):
decision = tree.predict([[label, size, weight, urgent, weekend, payment_method, international,
delayed]])
return decision

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

202
resources/dataset.csv Normal file
View File

@ -0,0 +1,202 @@
"label;size;weight;urgent;weekend;payment_method;international;delayed;sector"
"0;1;3;0;0;0;4;0;3"
"0;1;2;1;1;0;3;0;3"
"0;2;3;0;0;1;2;0;3"
"0;3;1;0;1;1;3;0;3"
"0;2;1;0;0;2;2;0;3"
"0;1;2;0;1;1;1;0;1"
"0;1;3;1;0;2;3;1;4"
"0;2;3;1;0;1;4;1;4"
"0;2;2;1;1;0;3;0;3"
"0;2;2;1;0;0;1;0;1"
"0;3;1;0;0;0;2;1;4"
"0;3;1;0;0;1;4;1;4"
"0;3;1;0;1;2;1;0;1"
"0;3;3;1;1;1;4;1;4"
"0;2;3;1;1;0;3;0;3"
"0;1;3;0;0;0;4;1;4"
"0;2;2;0;0;2;2;0;3"
"0;1;2;1;1;2;2;1;4"
"0;3;2;1;0;1;3;1;4"
"0;3;1;1;1;0;2;1;4"
"0;2;1;0;1;1;4;0;3"
"0;2;2;0;0;1;3;0;3"
"0;1;1;0;0;1;1;1;4"
"0;1;2;1;0;1;1;1;4"
"0;1;2;1;0;0;3;0;3"
"0;1;3;0;1;0;4;0;3"
"0;3;3;1;0;2;3;1;4"
"0;3;3;0;1;2;2;1;4"
"0;3;3;1;0;2;4;1;4"
"0;2;3;0;1;0;3;1;4"
"0;3;2;1;0;0;1;0;1"
"0;2;2;0;1;0;2;0;3"
"0;1;2;1;0;1;1;0;1"
"0;1;1;0;0;2;3;0;3"
"0;2;1;1;0;1;4;1;4"
"0;3;1;0;0;1;4;1;4"
"0;2;2;1;1;2;2;1;4"
"0;3;2;0;1;1;2;1;4"
"0;2;2;1;0;2;1;0;1"
"0;2;3;0;0;2;1;1;4"
"0;2;3;0;1;0;3;0;3"
"0;2;3;1;1;1;3;1;4"
"0;1;3;1;1;1;4;0;3"
"0;1;2;0;1;2;2;1;4"
"0;3;2;1;0;2;1;0;1"
"0;3;2;0;1;1;1;1;4"
"0;3;1;0;0;1;3;0;3"
"0;3;1;1;1;1;4;1;4"
"0;2;1;1;0;2;2;0;3"
"0;2;3;0;1;2;3;1;4"
"1;2;3;0;1;0;4;1;4"
"1;2;3;1;1;0;1;1;4"
"1;1;2;0;0;2;3;0;3"
"1;2;2;0;0;1;2;0;3"
"1;1;1;1;1;2;4;0;3"
"1;1;1;1;1;1;3;1;4"
"1;1;3;0;0;0;3;1;4"
"1;1;3;0;0;0;3;1;4"
"1;1;3;0;1;2;3;0;3"
"1;2;2;1;1;2;2;0;3"
"1;2;2;1;0;1;2;0;3"
"1;2;2;0;1;2;4;1;4"
"1;3;1;1;0;1;4;1;4"
"1;3;1;0;1;0;3;0;3"
"1;3;1;1;1;0;2;0;3"
"1;3;3;0;0;1;4;1;4"
"1;2;3;1;1;2;3;1;4"
"1;2;3;1;1;1;2;0;3"
"1;3;2;1;0;0;4;0;3"
"1;3;2;0;0;2;2;1;4"
"1;2;2;0;1;1;1;1;4"
"1;2;1;0;1;2;4;0;3"
"1;1;1;1;0;1;2;0;3"
"1;1;2;1;0;1;3;0;3"
"1;3;2;0;1;2;1;0;1"
"1;3;2;0;1;2;4;1;4"
"1;2;1;1;0;1;2;0;3"
"1;2;1;1;1;0;3;0;3"
"1;2;3;0;0;1;3;1;4"
"1;1;3;1;1;1;4;1;4"
"1;1;2;1;0;2;2;1;4"
"1;1;2;0;1;1;4;0;3"
"1;3;1;0;0;2;2;0;3"
"1;3;1;1;0;1;1;1;4"
"1;3;3;0;1;0;3;1;4"
"1;3;3;1;1;2;3;0;3"
"1;2;3;0;1;1;1;0;1"
"1;2;2;1;0;2;2;1;4"
"1;1;2;0;0;1;4;1;4"
"1;2;2;0;1;2;2;0;3"
"1;1;1;1;0;1;4;0;3"
"1;3;1;1;1;2;1;1;4"
"1;3;1;0;0;1;1;1;4"
"1;2;3;0;0;0;3;1;4"
"1;1;3;0;1;0;3;0;3"
"1;2;1;1;1;1;4;0;3"
"1;2;1;1;0;2;4;0;3"
"1;1;3;0;0;1;2;1;4"
"1;1;3;0;0;2;2;1;4"
"1;1;2;1;1;0;4;0;3"
"1;1;2;1;1;0;4;0;3"
"2;1;3;0;1;2;3;1;2"
"2;1;3;0;0;1;3;1;2"
"2;3;1;1;1;2;2;0;2"
"2;3;1;1;0;0;2;0;2"
"2;3;3;0;1;0;1;1;2"
"2;3;3;0;0;2;1;1;2"
"2;3;2;1;1;1;1;0;2"
"2;3;2;0;0;1;2;0;2"
"2;3;2;1;1;1;2;1;2"
"2;3;2;0;1;2;4;1;2"
"2;2;3;1;0;2;4;0;2"
"2;2;3;0;0;1;3;0;2"
"2;2;3;1;1;1;3;1;2"
"2;1;2;0;0;0;2;1;2"
"2;1;2;1;0;0;2;0;2"
"2;2;3;0;1;2;2;0;2"
"2;2;3;1;0;1;1;1;2"
"2;1;2;1;1;2;1;1;2"
"2;2;2;0;1;0;4;0;2"
"2;3;1;0;0;2;4;0;2"
"2;3;1;1;0;0;2;0;2"
"2;2;1;1;0;1;3;1;2"
"2;1;2;1;1;1;2;0;2"
"2;1;2;1;0;1;4;1;2"
"2;2;3;1;1;1;2;1;2"
"2;3;3;1;1;2;1;0;2"
"2;2;3;1;0;1;1;0;2"
"2;1;2;0;0;1;4;0;2"
"2;2;2;0;0;1;2;1;2"
"2;1;2;0;1;2;3;1;2"
"2;3;1;0;0;2;4;0;2"
"2;1;1;0;1;1;3;0;2"
"2;2;1;0;1;1;2;1;2"
"2;1;2;0;0;2;2;1;2"
"2;2;2;1;1;0;3;0;2"
"2;1;2;1;0;0;3;0;2"
"2;3;3;0;0;0;2;1;2"
"2;3;3;0;1;1;2;1;2"
"2;3;2;1;1;2;1;1;2"
"2;2;2;0;0;1;4;0;2"
"2;2;3;1;1;2;4;0;2"
"2;1;1;0;1;0;2;1;2"
"2;1;1;1;0;0;2;0;2"
"2;2;3;0;1;1;2;1;2"
"2;3;3;1;0;2;1;0;2"
"2;3;2;0;1;0;1;1;2"
"2;2;2;1;0;1;3;0;2"
"2;2;1;0;1;2;2;1;2"
"2;1;1;1;1;2;4;0;2"
"2;1;3;0;0;2;2;0;2"
"3;1;2;1;0;1;3;1;4"
"3;2;2;1;1;1;2;0;3"
"3;2;1;0;0;1;1;1;4"
"3;3;1;0;1;0;4;0;3"
"3;3;3;1;0;0;2;1;4"
"3;3;3;1;1;0;3;0;3"
"3;2;2;0;0;0;4;1;4"
"3;2;1;0;1;2;2;0;3"
"3;2;1;1;0;1;1;1;4"
"3;1;3;1;0;2;2;0;3"
"3;1;2;0;1;1;3;1;4"
"3;1;1;1;1;2;4;0;3"
"3;3;3;0;0;0;2;1;4"
"3;3;2;1;0;1;2;0;3"
"3;2;1;0;1;2;4;0;3"
"3;2;2;0;0;1;4;0;3"
"3;1;3;0;1;0;4;0;3"
"3;2;2;0;0;2;2;1;4"
"3;1;2;0;0;1;2;1;4"
"3;3;1;1;1;1;2;1;4"
"3;3;1;1;1;2;1;0;1"
"3;2;3;1;0;0;2;0;3"
"3;2;3;0;0;0;2;1;4"
"3;2;2;0;1;1;3;0;3"
"3;1;2;1;1;1;4;1;4"
"3;1;1;0;0;2;2;0;3"
"3;2;1;1;0;1;2;1;4"
"3;2;3;0;0;0;1;0;1"
"3;1;3;0;0;0;1;1;4"
"3;1;2;1;1;1;4;0;3"
"3;2;2;1;1;2;4;1;4"
"3;2;1;0;1;1;2;0;3"
"3;3;1;0;1;1;2;1;4"
"3;3;3;0;1;2;1;0;1"
"3;2;3;0;0;1;1;1;4"
"3;3;2;1;0;2;4;1;4"
"3;1;2;0;1;1;2;0;3"
"3;1;1;1;0;0;2;0;3"
"3;2;1;0;1;2;2;0;3"
"3;1;3;1;0;1;1;0;1"
"3;3;3;0;1;0;1;0;1"
"3;2;2;0;0;2;3;0;3"
"3;2;2;1;1;2;3;0;3"
"3;1;1;0;0;1;2;0;3"
"3;3;1;1;0;1;2;1;4"
"3;2;3;1;1;2;1;1;4"
"3;2;3;1;0;2;4;1;4"
"3;1;3;0;1;0;2;1;4"
"3;3;2;0;0;0;3;1;4"
"3;2;2;1;0;0;4;1;4"
1 label;size;weight;urgent;weekend;payment_method;international;delayed;sector
2 0;1;3;0;0;0;4;0;3
3 0;1;2;1;1;0;3;0;3
4 0;2;3;0;0;1;2;0;3
5 0;3;1;0;1;1;3;0;3
6 0;2;1;0;0;2;2;0;3
7 0;1;2;0;1;1;1;0;1
8 0;1;3;1;0;2;3;1;4
9 0;2;3;1;0;1;4;1;4
10 0;2;2;1;1;0;3;0;3
11 0;2;2;1;0;0;1;0;1
12 0;3;1;0;0;0;2;1;4
13 0;3;1;0;0;1;4;1;4
14 0;3;1;0;1;2;1;0;1
15 0;3;3;1;1;1;4;1;4
16 0;2;3;1;1;0;3;0;3
17 0;1;3;0;0;0;4;1;4
18 0;2;2;0;0;2;2;0;3
19 0;1;2;1;1;2;2;1;4
20 0;3;2;1;0;1;3;1;4
21 0;3;1;1;1;0;2;1;4
22 0;2;1;0;1;1;4;0;3
23 0;2;2;0;0;1;3;0;3
24 0;1;1;0;0;1;1;1;4
25 0;1;2;1;0;1;1;1;4
26 0;1;2;1;0;0;3;0;3
27 0;1;3;0;1;0;4;0;3
28 0;3;3;1;0;2;3;1;4
29 0;3;3;0;1;2;2;1;4
30 0;3;3;1;0;2;4;1;4
31 0;2;3;0;1;0;3;1;4
32 0;3;2;1;0;0;1;0;1
33 0;2;2;0;1;0;2;0;3
34 0;1;2;1;0;1;1;0;1
35 0;1;1;0;0;2;3;0;3
36 0;2;1;1;0;1;4;1;4
37 0;3;1;0;0;1;4;1;4
38 0;2;2;1;1;2;2;1;4
39 0;3;2;0;1;1;2;1;4
40 0;2;2;1;0;2;1;0;1
41 0;2;3;0;0;2;1;1;4
42 0;2;3;0;1;0;3;0;3
43 0;2;3;1;1;1;3;1;4
44 0;1;3;1;1;1;4;0;3
45 0;1;2;0;1;2;2;1;4
46 0;3;2;1;0;2;1;0;1
47 0;3;2;0;1;1;1;1;4
48 0;3;1;0;0;1;3;0;3
49 0;3;1;1;1;1;4;1;4
50 0;2;1;1;0;2;2;0;3
51 0;2;3;0;1;2;3;1;4
52 1;2;3;0;1;0;4;1;4
53 1;2;3;1;1;0;1;1;4
54 1;1;2;0;0;2;3;0;3
55 1;2;2;0;0;1;2;0;3
56 1;1;1;1;1;2;4;0;3
57 1;1;1;1;1;1;3;1;4
58 1;1;3;0;0;0;3;1;4
59 1;1;3;0;0;0;3;1;4
60 1;1;3;0;1;2;3;0;3
61 1;2;2;1;1;2;2;0;3
62 1;2;2;1;0;1;2;0;3
63 1;2;2;0;1;2;4;1;4
64 1;3;1;1;0;1;4;1;4
65 1;3;1;0;1;0;3;0;3
66 1;3;1;1;1;0;2;0;3
67 1;3;3;0;0;1;4;1;4
68 1;2;3;1;1;2;3;1;4
69 1;2;3;1;1;1;2;0;3
70 1;3;2;1;0;0;4;0;3
71 1;3;2;0;0;2;2;1;4
72 1;2;2;0;1;1;1;1;4
73 1;2;1;0;1;2;4;0;3
74 1;1;1;1;0;1;2;0;3
75 1;1;2;1;0;1;3;0;3
76 1;3;2;0;1;2;1;0;1
77 1;3;2;0;1;2;4;1;4
78 1;2;1;1;0;1;2;0;3
79 1;2;1;1;1;0;3;0;3
80 1;2;3;0;0;1;3;1;4
81 1;1;3;1;1;1;4;1;4
82 1;1;2;1;0;2;2;1;4
83 1;1;2;0;1;1;4;0;3
84 1;3;1;0;0;2;2;0;3
85 1;3;1;1;0;1;1;1;4
86 1;3;3;0;1;0;3;1;4
87 1;3;3;1;1;2;3;0;3
88 1;2;3;0;1;1;1;0;1
89 1;2;2;1;0;2;2;1;4
90 1;1;2;0;0;1;4;1;4
91 1;2;2;0;1;2;2;0;3
92 1;1;1;1;0;1;4;0;3
93 1;3;1;1;1;2;1;1;4
94 1;3;1;0;0;1;1;1;4
95 1;2;3;0;0;0;3;1;4
96 1;1;3;0;1;0;3;0;3
97 1;2;1;1;1;1;4;0;3
98 1;2;1;1;0;2;4;0;3
99 1;1;3;0;0;1;2;1;4
100 1;1;3;0;0;2;2;1;4
101 1;1;2;1;1;0;4;0;3
102 1;1;2;1;1;0;4;0;3
103 2;1;3;0;1;2;3;1;2
104 2;1;3;0;0;1;3;1;2
105 2;3;1;1;1;2;2;0;2
106 2;3;1;1;0;0;2;0;2
107 2;3;3;0;1;0;1;1;2
108 2;3;3;0;0;2;1;1;2
109 2;3;2;1;1;1;1;0;2
110 2;3;2;0;0;1;2;0;2
111 2;3;2;1;1;1;2;1;2
112 2;3;2;0;1;2;4;1;2
113 2;2;3;1;0;2;4;0;2
114 2;2;3;0;0;1;3;0;2
115 2;2;3;1;1;1;3;1;2
116 2;1;2;0;0;0;2;1;2
117 2;1;2;1;0;0;2;0;2
118 2;2;3;0;1;2;2;0;2
119 2;2;3;1;0;1;1;1;2
120 2;1;2;1;1;2;1;1;2
121 2;2;2;0;1;0;4;0;2
122 2;3;1;0;0;2;4;0;2
123 2;3;1;1;0;0;2;0;2
124 2;2;1;1;0;1;3;1;2
125 2;1;2;1;1;1;2;0;2
126 2;1;2;1;0;1;4;1;2
127 2;2;3;1;1;1;2;1;2
128 2;3;3;1;1;2;1;0;2
129 2;2;3;1;0;1;1;0;2
130 2;1;2;0;0;1;4;0;2
131 2;2;2;0;0;1;2;1;2
132 2;1;2;0;1;2;3;1;2
133 2;3;1;0;0;2;4;0;2
134 2;1;1;0;1;1;3;0;2
135 2;2;1;0;1;1;2;1;2
136 2;1;2;0;0;2;2;1;2
137 2;2;2;1;1;0;3;0;2
138 2;1;2;1;0;0;3;0;2
139 2;3;3;0;0;0;2;1;2
140 2;3;3;0;1;1;2;1;2
141 2;3;2;1;1;2;1;1;2
142 2;2;2;0;0;1;4;0;2
143 2;2;3;1;1;2;4;0;2
144 2;1;1;0;1;0;2;1;2
145 2;1;1;1;0;0;2;0;2
146 2;2;3;0;1;1;2;1;2
147 2;3;3;1;0;2;1;0;2
148 2;3;2;0;1;0;1;1;2
149 2;2;2;1;0;1;3;0;2
150 2;2;1;0;1;2;2;1;2
151 2;1;1;1;1;2;4;0;2
152 2;1;3;0;0;2;2;0;2
153 3;1;2;1;0;1;3;1;4
154 3;2;2;1;1;1;2;0;3
155 3;2;1;0;0;1;1;1;4
156 3;3;1;0;1;0;4;0;3
157 3;3;3;1;0;0;2;1;4
158 3;3;3;1;1;0;3;0;3
159 3;2;2;0;0;0;4;1;4
160 3;2;1;0;1;2;2;0;3
161 3;2;1;1;0;1;1;1;4
162 3;1;3;1;0;2;2;0;3
163 3;1;2;0;1;1;3;1;4
164 3;1;1;1;1;2;4;0;3
165 3;3;3;0;0;0;2;1;4
166 3;3;2;1;0;1;2;0;3
167 3;2;1;0;1;2;4;0;3
168 3;2;2;0;0;1;4;0;3
169 3;1;3;0;1;0;4;0;3
170 3;2;2;0;0;2;2;1;4
171 3;1;2;0;0;1;2;1;4
172 3;3;1;1;1;1;2;1;4
173 3;3;1;1;1;2;1;0;1
174 3;2;3;1;0;0;2;0;3
175 3;2;3;0;0;0;2;1;4
176 3;2;2;0;1;1;3;0;3
177 3;1;2;1;1;1;4;1;4
178 3;1;1;0;0;2;2;0;3
179 3;2;1;1;0;1;2;1;4
180 3;2;3;0;0;0;1;0;1
181 3;1;3;0;0;0;1;1;4
182 3;1;2;1;1;1;4;0;3
183 3;2;2;1;1;2;4;1;4
184 3;2;1;0;1;1;2;0;3
185 3;3;1;0;1;1;2;1;4
186 3;3;3;0;1;2;1;0;1
187 3;2;3;0;0;1;1;1;4
188 3;3;2;1;0;2;4;1;4
189 3;1;2;0;1;1;2;0;3
190 3;1;1;1;0;0;2;0;3
191 3;2;1;0;1;2;2;0;3
192 3;1;3;1;0;1;1;0;1
193 3;3;3;0;1;0;1;0;1
194 3;2;2;0;0;2;3;0;3
195 3;2;2;1;1;2;3;0;3
196 3;1;1;0;0;1;2;0;3
197 3;3;1;1;0;1;2;1;4
198 3;2;3;1;1;2;1;1;4
199 3;2;3;1;0;2;4;1;4
200 3;1;3;0;1;0;2;1;4
201 3;3;2;0;0;0;3;1;4
202 3;2;2;1;0;0;4;1;4

BIN
resources/decision_tree.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB