Compare commits

..

No commits in common. "b2534ba05e5772003abf0ab4a0ddd3d98709b5c7" and "9eb4492feb1e27dcc1d49a019aee6aa3ef035ff8" have entirely different histories.

6 changed files with 2 additions and 144079 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -71,7 +71,7 @@ class Rule:
# https://mljar.com/blog/extract-rules-decision-tree/ # https://mljar.com/blog/extract-rules-decision-tree/
def get_rules(tree, feature_names, classes=None) -> List[Rule]: def get_rules(tree, feature_names) -> List[Rule]:
tree_ = tree.tree_ tree_ = tree.tree_
feature_name = [ feature_name = [
feature_names[i] if i != TREE_UNDEFINED else "undefined!" for i in tree_.feature feature_names[i] if i != TREE_UNDEFINED else "undefined!" for i in tree_.feature
@ -91,11 +91,7 @@ def get_rules(tree, feature_names, classes=None) -> List[Rule]:
p2.append(RuleAtom(name, ComparisonType.GREATER, threshold)) p2.append(RuleAtom(name, ComparisonType.GREATER, threshold))
recurse(tree_.children_right[node], p2, rules) recurse(tree_.children_right[node], p2, rules)
else: else:
if classes is None:
rules.append(Rule(antecedent, tree_.value[node][0][0])) rules.append(Rule(antecedent, tree_.value[node][0][0]))
else:
value = np.argmax(tree_.value[node][0])
rules.append(Rule(antecedent, classes[value]))
recurse(0, antecedent, rules) recurse(0, antecedent, rules)
@ -306,8 +302,6 @@ def _get_fuzzy_rules(
for rule in rules: for rule in rules:
antecedent = [] antecedent = []
for atom in rule.get_antecedent(): for atom in rule.get_antecedent():
if fuzzy_variables.get(atom.get_varaible(), None) is None:
continue
antecedent.append( antecedent.append(
_get_fuzzy_rule_atom( _get_fuzzy_rule_atom(
fuzzy_variables[atom.get_varaible()], atom.get_value() fuzzy_variables[atom.get_varaible()], atom.get_value()