Skip to content

Commit f72f29c

Browse files
Add tests
1 parent 3a2b007 commit f72f29c

File tree

3 files changed

+9
-2
lines changed

3 files changed

+9
-2
lines changed

Orange/preprocess/preprocess.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -605,7 +605,8 @@ def __call__(self, data):
605605
sparsness = data.X.shape[0] - np.count_nonzero(data.X, axis=0)
606606
else: # filter by nans
607607
if sp.issparse(data.X):
608-
sparsness = np.sum(np.isnan(data.X.data), axis=0)
608+
data_csc = sp.csc_matrix(data.X)
609+
sparsness = [np.sum(np.isnan(data.X[:, i].data)) for i in range(data_csc.shape[1])]
609610
else:
610611
sparsness = np.sum(np.isnan(data.X), axis=0)
611612
att = [a for a, s in zip(data.domain.attributes, sparsness) if s <= tailored_threshold]

Orange/tests/test_preprocess.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,8 @@ def test_nan_sparse(self):
221221
self.data.X[:, 0] = 7
222222
true_out = self.data[:, 0]
223223
true_out.X = true_out.X.reshape(-1, 1)
224+
self.data.X = csr_matrix(self.data.X)
225+
true_out.X = csr_matrix(true_out.X)
224226
out = RemoveSparse(False, False, 0.5)(self.data)
225227
np.testing.assert_array_equal(out, true_out)
226228

Orange/widgets/data/tests/test_owpreprocess.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,11 @@ def test_editor(self):
295295
self.assertEqual(p.filter_0, True)
296296
self.assertEqual(p.threshold, 5)
297297

298-
widget.setParameters({"useFixedThreshold" : True})
298+
widget.setParameters({"useFixedThreshold" : True,
299+
"fixedThresh" : 30,
300+
"filter0" : False})
299301
p = widget.createinstance(widget.parameters())
300302
self.assertIsInstance(p, RemoveSparse)
301303
self.assertEqual(p.fixed_threshold, True)
304+
self.assertEqual(p.threshold, 30)
305+
self.assertFalse(p.filter_0)

0 commit comments

Comments
 (0)