connected neural network with mine/notmine model
3
.vscode/settings.json
vendored
@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"git.ignoreLimitWarning": true
|
|
||||||
}
|
|
Before Width: | Height: | Size: 758 KiB After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 301 KiB |
Before Width: | Height: | Size: 2.1 MiB After Width: | Height: | Size: 7.7 KiB |
BIN
assets/sprites/mines/3.jpg
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
assets/sprites/mines/4.jpg
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
assets/sprites/mines/5.jpg
Normal file
After Width: | Height: | Size: 8.3 KiB |
BIN
assets/sprites/mines/6.jpg
Normal file
After Width: | Height: | Size: 6.9 KiB |
BIN
assets/sprites/mines/7.jpg
Normal file
After Width: | Height: | Size: 202 KiB |
BIN
assets/sprites/mines/8.jpg
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
assets/sprites/mines/9.jpg
Normal file
After Width: | Height: | Size: 7.8 KiB |
BIN
assets/sprites/mines/zle.jpg
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
assets/sprites/mines/zle2.jpg
Normal file
After Width: | Height: | Size: 9.3 KiB |
BIN
assets/sprites/mines/zle3.jpg
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
assets/sprites/mines/zle4.jpg
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
assets/sprites/mines/zle5.jpg
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
assets/sprites/mines/zle6.jpg
Normal file
After Width: | Height: | Size: 107 KiB |
Before Width: | Height: | Size: 2.7 MiB After Width: | Height: | Size: 405 KiB |
Before Width: | Height: | Size: 95 KiB |
BIN
assets/sprites/notmines/10.jpg
Normal file
After Width: | Height: | Size: 4.0 MiB |
BIN
assets/sprites/notmines/11.jpg
Normal file
After Width: | Height: | Size: 4.0 MiB |
BIN
assets/sprites/notmines/12.jpg
Normal file
After Width: | Height: | Size: 4.9 MiB |
BIN
assets/sprites/notmines/13.jpg
Normal file
After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 37 KiB |
BIN
assets/sprites/notmines/3.jpg
Normal file
After Width: | Height: | Size: 3.6 MiB |
BIN
assets/sprites/notmines/4.jpg
Normal file
After Width: | Height: | Size: 4.5 MiB |
BIN
assets/sprites/notmines/5.jpg
Normal file
After Width: | Height: | Size: 9.0 KiB |
BIN
assets/sprites/notmines/6.jpg
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
assets/sprites/notmines/7.jpg
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
assets/sprites/notmines/8.jpg
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
assets/sprites/notmines/9.jpg
Normal file
After Width: | Height: | Size: 134 KiB |
BIN
assets/sprites/notmines/zle.jpg
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
assets/sprites/notmines/zle2.jpg
Normal file
After Width: | Height: | Size: 16 KiB |
@ -23,10 +23,10 @@ class NotMine():
|
|||||||
self.position_y = position_y
|
self.position_y = position_y
|
||||||
self.size = size
|
self.size = size
|
||||||
self.ismine = False
|
self.ismine = False
|
||||||
self.image_path = "assets/sprites/notmines/" + str(randrange(1, 3)) + ".jpg"
|
self.image_path = "assets/sprites/notmines/" + str(randrange(1, 10)) + ".jpg"
|
||||||
self.image = pygame.image.load(self.image_path)
|
self.image = pygame.image.load(self.image_path)
|
||||||
self.image = pygame.transform.scale(self.image, (self.size, self.size))
|
self.image = pygame.transform.scale(self.image, (self.size, self.size))
|
||||||
self.font = pygame.font.SysFont('Comic Sans MS', int(self.size * 0.3))
|
self.font = pygame.font.SysFont('Comic Sans MS', int(self.size * 0.25))
|
||||||
self.done_text = self.font.render("", False, (255,0,0))
|
self.done_text = self.font.render("", False, (255,0,0))
|
||||||
|
|
||||||
def draw(self, window):
|
def draw(self, window):
|
||||||
@ -59,10 +59,10 @@ class Mine():
|
|||||||
self.weight = weight
|
self.weight = weight
|
||||||
self.explosion_timer = timer
|
self.explosion_timer = timer
|
||||||
self.difficulty = difficulty
|
self.difficulty = difficulty
|
||||||
self.image_path = "assets/sprites/mines/" + str(randrange(1, 3)) + ".jpg"
|
self.image_path = "assets/sprites/mines/" + str(randrange(1, 10)) + ".jpg"
|
||||||
self.image = pygame.image.load(self.image_path)
|
self.image = pygame.image.load(self.image_path)
|
||||||
self.image = pygame.transform.scale(self.image, (self.size, self.size))
|
self.image = pygame.transform.scale(self.image, (self.size, self.size))
|
||||||
self.font = pygame.font.SysFont('Comic Sans MS', int(self.size * 0.3))
|
self.font = pygame.font.SysFont('Comic Sans MS', int(self.size * 0.25))
|
||||||
self.image_text = self.font.render(str(self.weight), False, (255, 0, 0))
|
self.image_text = self.font.render(str(self.weight), False, (255, 0, 0))
|
||||||
self.timer_text = self.font.render(str(self.explosion_timer), False, (255, 0, 0))
|
self.timer_text = self.font.render(str(self.explosion_timer), False, (255, 0, 0))
|
||||||
self.difficulty_text = self.font.render(str(self.difficulty), False, (255, 0, 0))
|
self.difficulty_text = self.font.render(str(self.difficulty), False, (255, 0, 0))
|
||||||
@ -438,16 +438,24 @@ class Minesweeper:
|
|||||||
for encounter in self.current_map.encounters:
|
for encounter in self.current_map.encounters:
|
||||||
if (self.position_x, self.position_y) == (encounter.position_x, encounter.position_y):
|
if (self.position_x, self.position_y) == (encounter.position_x, encounter.position_y):
|
||||||
|
|
||||||
#tutaj będzie sprawdzanie zdjęcia i na podstawie tego przypisywane true albo false do decisionismine
|
#wykrywanie po zadjęciu czy mina czy nie
|
||||||
decisionismine = self.neural_network.recognize(encounter.image_path)
|
decisionismine = self.neural_network.recognize(encounter.image_path)
|
||||||
|
|
||||||
#wykryto błędnie
|
#wykryto błędnie
|
||||||
if decisionismine != encounter.ismine:
|
if decisionismine != encounter.ismine:
|
||||||
print("ERROR: Decision was not right")
|
print("ERROR: Decision was not correct")
|
||||||
self.current_map.encounters.clear()
|
#self.current_map.encounters.clear()
|
||||||
|
if encounter.ismine:
|
||||||
|
encounter.image_text = encounter.font.render("MISS", False, (255, 0, 0))
|
||||||
|
encounter.difficulty_text = encounter.font.render("", False, (255, 0, 0))
|
||||||
|
else:
|
||||||
|
encounter.done_text = encounter.font.render("MISS", False, (255,0,0))
|
||||||
|
self.current_map.encounters.remove(encounter)
|
||||||
|
print("")
|
||||||
break
|
break
|
||||||
#wykryto poprawnie, że mina
|
#wykryto poprawnie, że mina
|
||||||
elif decisionismine:
|
elif decisionismine:
|
||||||
|
print("Decision was correct")
|
||||||
print("Mine? - Yes")
|
print("Mine? - Yes")
|
||||||
print("")
|
print("")
|
||||||
tree = decisionTrees.DecisionTrees()
|
tree = decisionTrees.DecisionTrees()
|
||||||
@ -461,6 +469,7 @@ class Minesweeper:
|
|||||||
break
|
break
|
||||||
#wykryto poprawnie, że niemina
|
#wykryto poprawnie, że niemina
|
||||||
else:
|
else:
|
||||||
|
print("Decision was correct")
|
||||||
print("Mine? - No")
|
print("Mine? - No")
|
||||||
print("")
|
print("")
|
||||||
encounter.done_text = encounter.font.render("X", False, (255,0,0))
|
encounter.done_text = encounter.font.render("X", False, (255,0,0))
|
||||||
|
@ -14,7 +14,7 @@ warnings.filterwarnings('ignore')
|
|||||||
create_model = False
|
create_model = False
|
||||||
learning_sets_path = "data/learning_sets"
|
learning_sets_path = "data/learning_sets"
|
||||||
save_model_path = "data/models/true_mine_recognizer.model"
|
save_model_path = "data/models/true_mine_recognizer.model"
|
||||||
load_model_path = "data/models/mine_recognizer.model"
|
load_model_path = "data/models/true_mine_recognizer.model"
|
||||||
image_size = 128
|
image_size = 128
|
||||||
|
|
||||||
class NeuralNetwork():
|
class NeuralNetwork():
|
||||||
@ -98,12 +98,10 @@ class NeuralNetwork():
|
|||||||
prediction = self.model.predict(image_array)
|
prediction = self.model.predict(image_array)
|
||||||
if prediction[0] > 0.5:
|
if prediction[0] > 0.5:
|
||||||
predict = "notmine"
|
predict = "notmine"
|
||||||
accuracy = prediction[0] * 100
|
|
||||||
elif prediction[0] <= 0.5:
|
elif prediction[0] <= 0.5:
|
||||||
predict = "mine"
|
predict = "mine"
|
||||||
accuracy = (1 - prediction[0]) * 100
|
|
||||||
|
|
||||||
print("Image: ",image_path," is classified as: ", predict," with: ", accuracy, " accuracy")
|
print("Image: ",image_path," is classified as: ", predict)
|
||||||
if predict == "mine":
|
if predict == "mine":
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
|
BIN
data/models/true_mine_recognizer.model/variables/variables.index
Normal file
@ -1,31 +1,31 @@
|
|||||||
[
|
[
|
||||||
{"current_level": 1, "leaf_id": "3da5aae2-e008-11ec-95c1-d43d7ef1576e", "parents": "root", "rule": "else: return 'detonate'", "feature_idx": -1, "feature_name": "", "instances": 200, "metric": 0, "return_statement": 0, "tree_id": 0},
|
{"current_level": 1, "leaf_id": "a5207776-e038-11ec-81fa-d43d7ef1576e", "parents": "root", "rule": "else: return 'detonate'", "feature_idx": -1, "feature_name": "", "instances": 200, "metric": 0, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 1, "leaf_id": "3da6bcfb-e008-11ec-ba71-d43d7ef1576e", "parents": "root", "rule": "if obj[4]<=80.67436609605278:", "feature_idx": 4, "feature_name": "Random_detonation_chance", "instances": 200, "metric": 0.9964625048848765, "return_statement": 0, "tree_id": 0},
|
{"current_level": 1, "leaf_id": "a52161b8-e038-11ec-a09a-d43d7ef1576e", "parents": "root", "rule": "if obj[4]<=80.67436609605278:", "feature_idx": 4, "feature_name": "Random_detonation_chance", "instances": 200, "metric": 0.9964625048848765, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 2, "leaf_id": "3db49dc5-e008-11ec-b425-d43d7ef1576e", "parents": "3da6bcfb-e008-11ec-ba71-d43d7ef1576e", "rule": "else: return 'detonate'", "feature_idx": -1, "feature_name": "", "instances": 161, "metric": 0, "return_statement": 0, "tree_id": 0},
|
{"current_level": 2, "leaf_id": "a5307c65-e038-11ec-b18b-d43d7ef1576e", "parents": "a52161b8-e038-11ec-a09a-d43d7ef1576e", "rule": "else: return 'detonate'", "feature_idx": -1, "feature_name": "", "instances": 161, "metric": 0, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 2, "leaf_id": "3db5af1f-e008-11ec-ba0b-d43d7ef1576e", "parents": "3da6bcfb-e008-11ec-ba71-d43d7ef1576e", "rule": "if obj[2]<=0:", "feature_idx": 2, "feature_name": "Protection_from_defuse", "instances": 161, "metric": 0.9203523274205176, "return_statement": 0, "tree_id": 0},
|
{"current_level": 2, "leaf_id": "a5318dc0-e038-11ec-986d-d43d7ef1576e", "parents": "a52161b8-e038-11ec-a09a-d43d7ef1576e", "rule": "if obj[2]<=0:", "feature_idx": 2, "feature_name": "Protection_from_defuse", "instances": 161, "metric": 0.9203523274205176, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 3, "leaf_id": "3dc2a6e1-e008-11ec-ba72-d43d7ef1576e", "parents": "3db5af1f-e008-11ec-ba0b-d43d7ef1576e", "rule": "else: return 'detonate'", "feature_idx": -1, "feature_name": "", "instances": 135, "metric": 0, "return_statement": 0, "tree_id": 0},
|
{"current_level": 3, "leaf_id": "a53f21ad-e038-11ec-a443-d43d7ef1576e", "parents": "a5318dc0-e038-11ec-986d-d43d7ef1576e", "rule": "else: return 'detonate'", "feature_idx": -1, "feature_name": "", "instances": 135, "metric": 0, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 3, "leaf_id": "3dc39134-e008-11ec-9943-d43d7ef1576e", "parents": "3db5af1f-e008-11ec-ba0b-d43d7ef1576e", "rule": "if obj[3]<=7:", "feature_idx": 3, "feature_name": "Meters_under_the_ground", "instances": 135, "metric": 0.7364977795505669, "return_statement": 0, "tree_id": 0},
|
{"current_level": 3, "leaf_id": "a5403290-e038-11ec-9ad7-d43d7ef1576e", "parents": "a5318dc0-e038-11ec-986d-d43d7ef1576e", "rule": "if obj[3]<=7:", "feature_idx": 3, "feature_name": "Meters_under_the_ground", "instances": 135, "metric": 0.7364977795505669, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 4, "leaf_id": "3dcd2d59-e008-11ec-9f6f-d43d7ef1576e", "parents": "3dc39134-e008-11ec-9943-d43d7ef1576e", "rule": "else: return 'defuse'", "feature_idx": -1, "feature_name": "", "instances": 116, "metric": 0, "return_statement": 0, "tree_id": 0},
|
{"current_level": 4, "leaf_id": "a549f58f-e038-11ec-9721-d43d7ef1576e", "parents": "a5403290-e038-11ec-9ad7-d43d7ef1576e", "rule": "else: return 'defuse'", "feature_idx": -1, "feature_name": "", "instances": 116, "metric": 0, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 4, "leaf_id": "3dce17a5-e008-11ec-acb7-d43d7ef1576e", "parents": "3dc39134-e008-11ec-9943-d43d7ef1576e", "rule": "if obj[1]<=1997.8794790831414:", "feature_idx": 1, "feature_name": "Year(older_more_difficult)", "instances": 116, "metric": 0.3936164041111624, "return_statement": 0, "tree_id": 0},
|
{"current_level": 4, "leaf_id": "a54adfdd-e038-11ec-ab1c-d43d7ef1576e", "parents": "a5403290-e038-11ec-9ad7-d43d7ef1576e", "rule": "if obj[1]<=1997.8794790831414:", "feature_idx": 1, "feature_name": "Year(older_more_difficult)", "instances": 116, "metric": 0.3936164041111624, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 5, "leaf_id": "3dd4f4e4-e008-11ec-9a04-d43d7ef1576e", "parents": "3dce17a5-e008-11ec-acb7-d43d7ef1576e", "rule": "else: return 'defuse'", "feature_idx": -1, "feature_name": "", "instances": 97, "metric": 0, "return_statement": 0, "tree_id": 0},
|
{"current_level": 5, "leaf_id": "a5525982-e038-11ec-a259-d43d7ef1576e", "parents": "a54adfdd-e038-11ec-ab1c-d43d7ef1576e", "rule": "else: return 'defuse'", "feature_idx": -1, "feature_name": "", "instances": 97, "metric": 0, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 5, "leaf_id": "3dd5df33-e008-11ec-a66b-d43d7ef1576e", "parents": "3dce17a5-e008-11ec-acb7-d43d7ef1576e", "rule": "if obj[5]<=2:", "feature_idx": 5, "feature_name": "Detonation_power_in_m", "instances": 97, "metric": 0.445693177722561, "return_statement": 0, "tree_id": 0},
|
{"current_level": 5, "leaf_id": "a55343a5-e038-11ec-8973-d43d7ef1576e", "parents": "a54adfdd-e038-11ec-ab1c-d43d7ef1576e", "rule": "if obj[5]<=2:", "feature_idx": 5, "feature_name": "Detonation_power_in_m", "instances": 97, "metric": 0.445693177722561, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 6, "leaf_id": "3dd9615a-e008-11ec-a021-d43d7ef1576e", "parents": "3dd5df33-e008-11ec-a66b-d43d7ef1576e", "rule": "else: return 'defuse'", "feature_idx": -1, "feature_name": "", "instances": 65, "metric": 0, "return_statement": 0, "tree_id": 0},
|
{"current_level": 6, "leaf_id": "a55713e5-e038-11ec-b018-d43d7ef1576e", "parents": "a55343a5-e038-11ec-8973-d43d7ef1576e", "rule": "else: return 'defuse'", "feature_idx": -1, "feature_name": "", "instances": 65, "metric": 0, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 6, "leaf_id": "3dda7234-e008-11ec-bf9b-d43d7ef1576e", "parents": "3dd5df33-e008-11ec-a66b-d43d7ef1576e", "rule": "if obj[0]>3:", "feature_idx": 0, "feature_name": "Size(bigger_more_difficult)", "instances": 65, "metric": 0.33352200393097664, "return_statement": 0, "tree_id": 0},
|
{"current_level": 6, "leaf_id": "a55824b5-e038-11ec-a34f-d43d7ef1576e", "parents": "a55343a5-e038-11ec-8973-d43d7ef1576e", "rule": "if obj[0]>3:", "feature_idx": 0, "feature_name": "Size(bigger_more_difficult)", "instances": 65, "metric": 0.33352200393097664, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 7, "leaf_id": "3dda7235-e008-11ec-bf80-d43d7ef1576e", "parents": "3dda7234-e008-11ec-bf9b-d43d7ef1576e", "rule": "return 'defuse'", "feature_idx": 0, "feature_name": "Size(bigger_more_difficult)", "instances": 65, "metric": 0, "return_statement": 1, "tree_id": 0},
|
{"current_level": 7, "leaf_id": "a55824b6-e038-11ec-bb03-d43d7ef1576e", "parents": "a55824b5-e038-11ec-a34f-d43d7ef1576e", "rule": "return 'defuse'", "feature_idx": 0, "feature_name": "Size(bigger_more_difficult)", "instances": 65, "metric": 0, "return_statement": 1, "tree_id": 0},
|
||||||
{"current_level": 6, "leaf_id": "3de6589c-e008-11ec-b9e2-d43d7ef1576e", "parents": "3dd5df33-e008-11ec-a66b-d43d7ef1576e", "rule": "if obj[0]<=3:", "feature_idx": 0, "feature_name": "Size(bigger_more_difficult)", "instances": 65, "metric": 0.33352200393097664, "return_statement": 0, "tree_id": 0},
|
{"current_level": 6, "leaf_id": "a564f4e5-e038-11ec-a139-d43d7ef1576e", "parents": "a55343a5-e038-11ec-8973-d43d7ef1576e", "rule": "if obj[0]<=3:", "feature_idx": 0, "feature_name": "Size(bigger_more_difficult)", "instances": 65, "metric": 0.33352200393097664, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 7, "leaf_id": "3de6589d-e008-11ec-ac82-d43d7ef1576e", "parents": "3de6589c-e008-11ec-b9e2-d43d7ef1576e", "rule": "return 'defuse'", "feature_idx": 0, "feature_name": "Size(bigger_more_difficult)", "instances": 65, "metric": 0, "return_statement": 1, "tree_id": 0},
|
{"current_level": 7, "leaf_id": "a564f4e6-e038-11ec-b59b-d43d7ef1576e", "parents": "a564f4e5-e038-11ec-a139-d43d7ef1576e", "rule": "return 'defuse'", "feature_idx": 0, "feature_name": "Size(bigger_more_difficult)", "instances": 65, "metric": 0, "return_statement": 1, "tree_id": 0},
|
||||||
{"current_level": 5, "leaf_id": "3dfdfd61-e008-11ec-a211-d43d7ef1576e", "parents": "3dce17a5-e008-11ec-acb7-d43d7ef1576e", "rule": "if obj[5]>2:", "feature_idx": 5, "feature_name": "Detonation_power_in_m", "instances": 97, "metric": 0.445693177722561, "return_statement": 0, "tree_id": 0},
|
{"current_level": 5, "leaf_id": "a57d103d-e038-11ec-837c-d43d7ef1576e", "parents": "a54adfdd-e038-11ec-ab1c-d43d7ef1576e", "rule": "if obj[5]>2:", "feature_idx": 5, "feature_name": "Detonation_power_in_m", "instances": 97, "metric": 0.445693177722561, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 6, "leaf_id": "3e01a611-e008-11ec-910f-d43d7ef1576e", "parents": "3dfdfd61-e008-11ec-a211-d43d7ef1576e", "rule": "else: return 'defuse'", "feature_idx": -1, "feature_name": "", "instances": 32, "metric": 0, "return_statement": 0, "tree_id": 0},
|
{"current_level": 6, "leaf_id": "a580b941-e038-11ec-8b02-d43d7ef1576e", "parents": "a57d103d-e038-11ec-837c-d43d7ef1576e", "rule": "else: return 'defuse'", "feature_idx": -1, "feature_name": "", "instances": 32, "metric": 0, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 6, "leaf_id": "3e029055-e008-11ec-94d4-d43d7ef1576e", "parents": "3dfdfd61-e008-11ec-a211-d43d7ef1576e", "rule": "if obj[0]<=7:", "feature_idx": 0, "feature_name": "Size(bigger_more_difficult)", "instances": 32, "metric": 0.6252624052234231, "return_statement": 0, "tree_id": 0},
|
{"current_level": 6, "leaf_id": "a581cac7-e038-11ec-9903-d43d7ef1576e", "parents": "a57d103d-e038-11ec-837c-d43d7ef1576e", "rule": "if obj[0]<=7:", "feature_idx": 0, "feature_name": "Size(bigger_more_difficult)", "instances": 32, "metric": 0.6252624052234231, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 7, "leaf_id": "3e029056-e008-11ec-80d0-d43d7ef1576e", "parents": "3e029055-e008-11ec-94d4-d43d7ef1576e", "rule": "return 'defuse'", "feature_idx": 0, "feature_name": "Size(bigger_more_difficult)", "instances": 32, "metric": 0, "return_statement": 1, "tree_id": 0},
|
{"current_level": 7, "leaf_id": "a581cac8-e038-11ec-9a27-d43d7ef1576e", "parents": "a581cac7-e038-11ec-9903-d43d7ef1576e", "rule": "return 'defuse'", "feature_idx": 0, "feature_name": "Size(bigger_more_difficult)", "instances": 32, "metric": 0, "return_statement": 1, "tree_id": 0},
|
||||||
{"current_level": 6, "leaf_id": "3e0e9dd1-e008-11ec-8ed3-d43d7ef1576e", "parents": "3dfdfd61-e008-11ec-a211-d43d7ef1576e", "rule": "if obj[0]>7:", "feature_idx": 0, "feature_name": "Size(bigger_more_difficult)", "instances": 32, "metric": 0.6252624052234231, "return_statement": 0, "tree_id": 0},
|
{"current_level": 6, "leaf_id": "a58dd70d-e038-11ec-9d70-d43d7ef1576e", "parents": "a57d103d-e038-11ec-837c-d43d7ef1576e", "rule": "if obj[0]>7:", "feature_idx": 0, "feature_name": "Size(bigger_more_difficult)", "instances": 32, "metric": 0.6252624052234231, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 7, "leaf_id": "3e0e9dd2-e008-11ec-9bd3-d43d7ef1576e", "parents": "3e0e9dd1-e008-11ec-8ed3-d43d7ef1576e", "rule": "return 'defuse'", "feature_idx": 0, "feature_name": "Size(bigger_more_difficult)", "instances": 32, "metric": 0, "return_statement": 1, "tree_id": 0},
|
{"current_level": 7, "leaf_id": "a58dd70e-e038-11ec-a5cf-d43d7ef1576e", "parents": "a58dd70d-e038-11ec-9d70-d43d7ef1576e", "rule": "return 'defuse'", "feature_idx": 0, "feature_name": "Size(bigger_more_difficult)", "instances": 32, "metric": 0, "return_statement": 1, "tree_id": 0},
|
||||||
{"current_level": 4, "leaf_id": "3e324f8e-e008-11ec-a2cf-d43d7ef1576e", "parents": "3dc39134-e008-11ec-9943-d43d7ef1576e", "rule": "if obj[1]>1997.8794790831414:", "feature_idx": 1, "feature_name": "Year(older_more_difficult)", "instances": 116, "metric": 0.3936164041111624, "return_statement": 0, "tree_id": 0},
|
{"current_level": 4, "leaf_id": "a5b27499-e038-11ec-9c75-d43d7ef1576e", "parents": "a5403290-e038-11ec-9ad7-d43d7ef1576e", "rule": "if obj[1]>1997.8794790831414:", "feature_idx": 1, "feature_name": "Year(older_more_difficult)", "instances": 116, "metric": 0.3936164041111624, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 5, "leaf_id": "3e324f8f-e008-11ec-b0e5-d43d7ef1576e", "parents": "3e324f8e-e008-11ec-a2cf-d43d7ef1576e", "rule": "return 'defuse'", "feature_idx": 1, "feature_name": "Year(older_more_difficult)", "instances": 116, "metric": 0, "return_statement": 1, "tree_id": 0},
|
{"current_level": 5, "leaf_id": "a5b2749a-e038-11ec-ad1c-d43d7ef1576e", "parents": "a5b27499-e038-11ec-9c75-d43d7ef1576e", "rule": "return 'defuse'", "feature_idx": 1, "feature_name": "Year(older_more_difficult)", "instances": 116, "metric": 0, "return_statement": 1, "tree_id": 0},
|
||||||
{"current_level": 3, "leaf_id": "3e4a6970-e008-11ec-82ec-d43d7ef1576e", "parents": "3db5af1f-e008-11ec-ba0b-d43d7ef1576e", "rule": "if obj[3]>7:", "feature_idx": 3, "feature_name": "Meters_under_the_ground", "instances": 135, "metric": 0.7364977795505669, "return_statement": 0, "tree_id": 0},
|
{"current_level": 3, "leaf_id": "a5cadc0d-e038-11ec-ab67-d43d7ef1576e", "parents": "a5318dc0-e038-11ec-986d-d43d7ef1576e", "rule": "if obj[3]>7:", "feature_idx": 3, "feature_name": "Meters_under_the_ground", "instances": 135, "metric": 0.7364977795505669, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 4, "leaf_id": "3e4a6971-e008-11ec-b6a1-d43d7ef1576e", "parents": "3e4a6970-e008-11ec-82ec-d43d7ef1576e", "rule": "return 'detonate'", "feature_idx": 3, "feature_name": "Meters_under_the_ground", "instances": 135, "metric": 0, "return_statement": 1, "tree_id": 0},
|
{"current_level": 4, "leaf_id": "a5cadc0e-e038-11ec-bd41-d43d7ef1576e", "parents": "a5cadc0d-e038-11ec-ab67-d43d7ef1576e", "rule": "return 'detonate'", "feature_idx": 3, "feature_name": "Meters_under_the_ground", "instances": 135, "metric": 0, "return_statement": 1, "tree_id": 0},
|
||||||
{"current_level": 2, "leaf_id": "3e625c50-e008-11ec-8286-d43d7ef1576e", "parents": "3da6bcfb-e008-11ec-ba71-d43d7ef1576e", "rule": "if obj[2]>0:", "feature_idx": 2, "feature_name": "Protection_from_defuse", "instances": 161, "metric": 0.9203523274205176, "return_statement": 0, "tree_id": 0},
|
{"current_level": 2, "leaf_id": "a5e31ebf-e038-11ec-9eb3-d43d7ef1576e", "parents": "a52161b8-e038-11ec-a09a-d43d7ef1576e", "rule": "if obj[2]>0:", "feature_idx": 2, "feature_name": "Protection_from_defuse", "instances": 161, "metric": 0.9203523274205176, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 3, "leaf_id": "3e625c51-e008-11ec-bcac-d43d7ef1576e", "parents": "3e625c50-e008-11ec-8286-d43d7ef1576e", "rule": "return 'detonate'", "feature_idx": 2, "feature_name": "Protection_from_defuse", "instances": 161, "metric": 0, "return_statement": 1, "tree_id": 0},
|
{"current_level": 3, "leaf_id": "a5e31ec0-e038-11ec-86a5-d43d7ef1576e", "parents": "a5e31ebf-e038-11ec-9eb3-d43d7ef1576e", "rule": "return 'detonate'", "feature_idx": 2, "feature_name": "Protection_from_defuse", "instances": 161, "metric": 0, "return_statement": 1, "tree_id": 0},
|
||||||
{"current_level": 1, "leaf_id": "3e7da9c6-e008-11ec-9254-d43d7ef1576e", "parents": "root", "rule": "if obj[4]>80.67436609605278:", "feature_idx": 4, "feature_name": "Random_detonation_chance", "instances": 200, "metric": 0.9964625048848765, "return_statement": 0, "tree_id": 0},
|
{"current_level": 1, "leaf_id": "a5fb1242-e038-11ec-bb21-d43d7ef1576e", "parents": "root", "rule": "if obj[4]>80.67436609605278:", "feature_idx": 4, "feature_name": "Random_detonation_chance", "instances": 200, "metric": 0.9964625048848765, "return_statement": 0, "tree_id": 0},
|
||||||
{"current_level": 2, "leaf_id": "3e7da9c7-e008-11ec-81ca-d43d7ef1576e", "parents": "3e7da9c6-e008-11ec-9254-d43d7ef1576e", "rule": "return 'detonate'", "feature_idx": 4, "feature_name": "Random_detonation_chance", "instances": 200, "metric": 0, "return_statement": 1, "tree_id": 0}
|
{"current_level": 2, "leaf_id": "a5fb1243-e038-11ec-9433-d43d7ef1576e", "parents": "a5fb1242-e038-11ec-bb21-d43d7ef1576e", "rule": "return 'detonate'", "feature_idx": 4, "feature_name": "Random_detonation_chance", "instances": 200, "metric": 0, "return_statement": 1, "tree_id": 0}
|
||||||
]
|
]
|