Skip to content

Commit c3b2c78

Browse files
committed
Fix: Rules failed when new_rules empty
1 parent 3e2d432 commit c3b2c78

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

Orange/classification/rules.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -795,7 +795,11 @@ def __str__(self):
795795
else:
796796
cond = "TRUE"
797797

798-
outcome = class_var.name + "=" + class_var.values[self.prediction]
798+
# it is possible that prediction is not set yet - use _ for outcome
799+
outcome = (
800+
(class_var.name + "=" + class_var.values[self.prediction])
801+
if self.prediction is not None else "_"
802+
)
799803
return "IF {} THEN {} ".format(cond, outcome)
800804

801805

@@ -870,8 +874,8 @@ def rcmp(rule):
870874
new_rules = self.search_strategy.refine_rule(
871875
X, Y, W, candidate_rule)
872876
rules.extend(new_rules)
873-
#remove default rule from list of rules
874-
if best_rule.length == 0:
877+
# remove default rule from list of rules
878+
if best_rule.length == 0 and len(new_rules) > 0:
875879
best_rule = new_rules[0]
876880
for new_rule in new_rules[1:]:
877881
if (new_rule.quality > best_rule.quality and

0 commit comments

Comments
 (0)