Skip to content

Commit c5de535

Browse files
committed
Venn Diagram: Silence warning about nans
1 parent 59c1b92 commit c5de535

File tree

5 files changed

+33
-1
lines changed

5 files changed

+33
-1
lines changed

Orange/tests/test_classification.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@
77
import unittest
88

99
import traceback
10+
import warnings
11+
1012
import numpy as np
13+
from sklearn.exceptions import ConvergenceWarning
14+
1115
from Orange.base import SklLearner
1216

1317
import Orange.classification
@@ -269,6 +273,9 @@ class LearnerAccessibility(unittest.TestCase):
269273

270274
def setUp(self):
271275
Variable._clear_all_caches()
276+
# Convergence warnings are irrelevant for these tests
277+
warnings.filterwarnings("ignore", ".*", ConvergenceWarning)
278+
272279

273280
def all_learners(self):
274281
classification_modules = pkgutil.walk_packages(

Orange/tests/test_neural_network.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
# pylint: disable=missing-docstring
33

44
import unittest
5+
import warnings
6+
7+
from sklearn.exceptions import ConvergenceWarning
58

69
from Orange.data import Table
710
from Orange.classification import NNClassificationLearner
@@ -17,6 +20,11 @@ def setUpClass(cls):
1720
cls.housing = Table('housing')
1821
cls.learner = NNLearner()
1922

23+
def setUp(self):
24+
# Convergence warnings are irrelevant for these tests
25+
warnings.filterwarnings("ignore", ".*", ConvergenceWarning)
26+
super().setUp()
27+
2028
def test_NN_classification(self):
2129
results = CrossValidation(self.iris, [NNClassificationLearner()], k=3)
2230
ca = CA(results)

Orange/tests/test_sgd.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22
# pylint: disable=missing-docstring
33

44
import unittest
5+
import warnings
56

67
import numpy as np
8+
from sklearn.exceptions import ConvergenceWarning
79

810
from Orange.data import Table
911
from Orange.classification import SGDClassificationLearner
@@ -12,6 +14,11 @@
1214

1315

1416
class TestSGDRegressionLearner(unittest.TestCase):
17+
def setUp(self):
18+
# Convergence warnings are irrelevant for these tests
19+
warnings.filterwarnings("ignore", ".*", ConvergenceWarning)
20+
super().setUp()
21+
1522
def test_SGDRegression(self):
1623
nrows, ncols = 500, 5
1724
X = np.random.rand(nrows, ncols)
@@ -32,6 +39,11 @@ class TestSGDClassificationLearner(unittest.TestCase):
3239
def setUpClass(cls):
3340
cls.iris = Table('iris')
3441

42+
def setUp(self):
43+
# Convergence warnings are irrelevant for these tests
44+
warnings.filterwarnings("ignore", ".*", ConvergenceWarning)
45+
super().setUp()
46+
3547
def test_SGDClassification(self):
3648
sgd = SGDClassificationLearner()
3749
res = CrossValidation(self.iris, [sgd], k=3)

Orange/tests/test_svm.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22
# pylint: disable=missing-docstring
33

44
import unittest
5+
import warnings
56

67
import numpy as np
8+
from sklearn.exceptions import ConvergenceWarning
79

810
from Orange.classification import (SVMLearner, LinearSVMLearner,
911
NuSVMLearner, OneClassSVMLearner)
@@ -24,6 +26,8 @@ def test_SVM(self):
2426
self.assertGreater(CA(res)[0], 0.9)
2527

2628
def test_LinearSVM(self):
29+
# This warning is irrelevant here
30+
warnings.filterwarnings("ignore", ".*", ConvergenceWarning)
2731
learn = LinearSVMLearner()
2832
res = CrossValidation(self.data, [learn], k=2)
2933
self.assertGreater(CA(res)[0], 0.8)

Orange/widgets/visualize/owvenndiagram.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -907,7 +907,8 @@ def varying_between(table, idvar):
907907
subset = table[indices]
908908
for var in list(candidate_set):
909909
column, _ = subset.get_column_view(var)
910-
values = util.unique(column)
910+
with numpy.errstate(invalid="ignore"): # nans are removed below
911+
values = util.unique(column)
911912

912913
if not var.is_string:
913914
values = unique_non_nan(values)

0 commit comments

Comments
 (0)