fixed: always positive outcome; added: 3 new wire colors

This commit is contained in:
s452645 2021-06-07 09:40:38 +02:00
parent 2daf6a2f6b
commit 8f85934095
7 changed files with 4541 additions and 5406 deletions

View File

@ -49,8 +49,8 @@ class DecisionTree:
# fig.savefig("decistion_tree.png")
def save(self):
dump(self.clf, r'algorithms/learn/decision_tree/decision_tree.joblib')
dump(self.vec, r'algorithms/learn/decision_tree/dict_vectorizer.joblib')
dump(self.clf, 'decision_tree.joblib')
dump(self.vec, 'dict_vectorizer.joblib')
def load(self, clf_file, vec_file):
self.clf = load(clf_file)
@ -85,7 +85,7 @@ class DecisionTree:
if __name__ == "__main__":
generate_data("training_set.txt", 12000)
generate_data("training_set.txt", 4500)
decision_tree = DecisionTree()
decision_tree.build("training_set.txt", 15)
decision_tree.test()

View File

@ -1,4 +1,5 @@
import os
import copy
import random
from disarming.parameters.hash_function import SeriesHash, SpecificityHash
@ -77,7 +78,11 @@ class DisarmingHandler:
def choose_wire(self):
dt = DecisionTree(load_from_file=True)
self.chosen_wire = dt.get_answer(self.mine_params)[0]
agent_params = copy.deepcopy(self.mine_params)
agent_params["series"] = self.recognized_series
agent_params["specificity"] = self.recognized_specificity
self.chosen_wire = dt.get_answer(agent_params)[0]
return self.chosen_wire

View File

@ -5,6 +5,9 @@ class Wire(Enum):
BLUE = 1, "blue"
GREEN = 2, "green"
RED = 3, "red"
YELLOW = 4, "yellow"
WHITE = 5, "white"
PURPLE = 6, "purple"
class TypeHash(Enum):
@ -23,10 +26,10 @@ class DangerClassHash(Enum):
class SeriesHash(Enum):
TCH_2990TONER = 128, "TCH 2990toner", "T"
SWX_5000 = 80, "SWX 5000", "S"
WORKHORSE_3200 = 30, "WORKHORSE 3200", "W"
FX_500 = 15, "FX 500", "F"
TCH_2990TONER = 220, "TCH 2990toner", "T"
SWX_5000 = 168, "SWX 5000", "S"
WORKHORSE_3200 = 94, "WORKHORSE 3200", "W"
FX_500 = 1, "FX 500", "F"
class IndicatorHash(Enum):
@ -38,9 +41,9 @@ class IndicatorHash(Enum):
class SpecificityHash(Enum):
ANTI_AIRCRAFT = 55, "anti aircraft", "planes"
DEPTH_MINE = 37, "depth mine", "ships"
ANTI_TANK = 26, "anti tank", "tanks"
ANTI_AIRCRAFT = 512, "anti aircraft", "planes"
DEPTH_MINE = 256, "depth mine", "ships"
ANTI_TANK = 16, "anti tank", "tanks"
class WeightHash(Enum):
@ -60,10 +63,16 @@ MAX_VALUE = max([elem.value[0] for elem in TypeHash]) \
def _get_wire_color(hash_sum):
if hash_sum < 0.43 * MAX_VALUE:
if hash_sum < 0.20 * MAX_VALUE:
return Wire.BLUE
elif hash_sum <= 0.56 * MAX_VALUE:
elif hash_sum <= 0.38 * MAX_VALUE:
return Wire.GREEN
elif hash_sum <= 0.50 * MAX_VALUE:
return Wire.YELLOW
elif hash_sum <= 0.60 * MAX_VALUE:
return Wire.WHITE
elif hash_sum <= 0.80 * MAX_VALUE:
return Wire.PURPLE
else:
return Wire.RED

View File

@ -71,6 +71,27 @@
{
"dark_bg": "#804e46"
}
},
"yellow":
{
"colours":
{
"dark_bg": "#7d803e"
}
},
"purple":
{
"colours":
{
"dark_bg": "#733c78"
}
},
"white":
{
"colours":
{
"dark_bg": "#7d7d7d"
}
}
}

File diff suppressed because it is too large Load Diff