本文整理汇总了Python中Orange.data.Table.to_sparse方法的典型用法代码示例。如果您正苦于以下问题:Python Table.to_sparse方法的具体用法?Python Table.to_sparse怎么用?Python Table.to_sparse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Orange.data.Table
的用法示例。
在下文中一共展示了Table.to_sparse方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_sparse_data
# 需要导入模块: from Orange.data import Table [as 别名]
# 或者: from Orange.data.Table import to_sparse [as 别名]
def test_sparse_data(self):
"""
Sparse support.
GH-2160
GH-2260
"""
table = Table("iris")
self.send_signal(self.widget.Inputs.data, table)
self.assertEqual(len(self.widget.discrete_data.domain), len(table.domain))
output = self.get_output("Data")
self.assertFalse(output.is_sparse())
table = table.to_sparse()
self.send_signal(self.widget.Inputs.data, table)
self.assertEqual(len(self.widget.discrete_data.domain), 2)
output = self.get_output("Data")
self.assertTrue(output.is_sparse())
示例2: TestOWtSNE
# 需要导入模块: from Orange.data import Table [as 别名]
# 或者: from Orange.data.Table import to_sparse [as 别名]
#.........这里部分代码省略.........
self.assertFalse(self.widget.controls.multiscale.isChecked())
self.assertTrue(self.widget.perplexity_spin.isEnabled())
self.widget.controls.multiscale.setChecked(True)
self.assertFalse(self.widget.perplexity_spin.isEnabled())
settings = self.widget.settingsHandler.pack_data(self.widget)
w = self.create_widget(OWtSNE, stored_settings=settings)
self.send_signal(w.Inputs.data, self.data, widget=w)
self.assertTrue(w.controls.multiscale.isChecked())
self.assertFalse(w.perplexity_spin.isEnabled())
def test_normalize_data(self):
# Normalization should be checked by default
self.assertTrue(self.widget.controls.normalize.isChecked())
with patch("Orange.preprocess.preprocess.Normalize", wraps=Normalize) as normalize:
self.send_signal(self.widget.Inputs.data, self.data)
self.assertTrue(self.widget.controls.normalize.isEnabled())
self.wait_until_stop_blocking()
normalize.assert_called_once()
# Disable checkbox
self.widget.controls.normalize.setChecked(False)
self.assertFalse(self.widget.controls.normalize.isChecked())
with patch("Orange.preprocess.preprocess.Normalize", wraps=Normalize) as normalize:
self.send_signal(self.widget.Inputs.data, self.data)
self.assertTrue(self.widget.controls.normalize.isEnabled())
self.wait_until_stop_blocking()
normalize.assert_not_called()
# Normalization shouldn't work on sparse data
self.widget.controls.normalize.setChecked(True)
self.assertTrue(self.widget.controls.normalize.isChecked())
sparse_data = self.data.to_sparse()
with patch("Orange.preprocess.preprocess.Normalize", wraps=Normalize) as normalize:
self.send_signal(self.widget.Inputs.data, sparse_data)
self.assertFalse(self.widget.controls.normalize.isEnabled())
self.wait_until_stop_blocking()
normalize.assert_not_called()
@patch("Orange.projection.manifold.TSNEModel.optimize")
def test_exaggeration_is_passed_through_properly(self, optimize):
def _check_exaggeration(call, exaggeration):
# Check the last call to `optimize`, so we catch one during the
# regular regime
_, _, kwargs = call.mock_calls[-1]
self.assertIn("exaggeration", kwargs)
self.assertEqual(kwargs["exaggeration"], exaggeration)
# Since optimize needs to return a valid TSNEModel instance and it is
# impossible to return `self` in a mock, we'll prepare this one ahead
# of time and use this
optimize.return_value = DummyTSNE()(self.data)
# Set value to 1
self.send_signal(self.widget.Inputs.data, self.data)
self.widget.run_button.clicked.emit() # stop initial run
self.wait_until_stop_blocking()
self.widget.controls.exaggeration.setValue(1)
self.widget.run_button.clicked.emit() # run with exaggeration 1
self.wait_until_stop_blocking()
_check_exaggeration(optimize, 1)
# Reset and clear state
self.send_signal(self.widget.Inputs.data, None)
optimize.reset_mock()
示例3: TestOWPCA
# 需要导入模块: from Orange.data import Table [as 别名]
# 或者: from Orange.data.Table import to_sparse [as 别名]
class TestOWPCA(WidgetTest):
def setUp(self):
self.widget = self.create_widget(OWPCA) # type: OWPCA
self.iris = Table("iris") # type: Table
def test_set_variance100(self):
self.widget.set_data(self.iris)
self.widget.variance_covered = 100
self.widget._update_selection_variance_spin()
def test_constant_data(self):
data = self.iris[::5]
data.X[:, :] = 1.0
# Ignore the warning: the test checks whether the widget shows
# Warning.trivial_components when this happens
with np.errstate(invalid="ignore"):
self.send_signal(self.widget.Inputs.data, data)
self.assertTrue(self.widget.Warning.trivial_components.is_shown())
self.assertIsNone(self.get_output(self.widget.Outputs.transformed_data))
self.assertIsNone(self.get_output(self.widget.Outputs.components))
def test_empty_data(self):
""" Check widget for dataset with no rows and for dataset with no attributes """
self.send_signal(self.widget.Inputs.data, self.iris[:0])
self.assertTrue(self.widget.Error.no_instances.is_shown())
domain = Domain([], None, self.iris.domain.variables)
new_data = Table.from_table(domain, self.iris)
self.send_signal(self.widget.Inputs.data, new_data)
self.assertTrue(self.widget.Error.no_features.is_shown())
self.assertFalse(self.widget.Error.no_instances.is_shown())
self.send_signal(self.widget.Inputs.data, None)
self.assertFalse(self.widget.Error.no_features.is_shown())
def test_limit_components(self):
X = np.random.RandomState(0).rand(101, 101)
data = Table(X)
self.widget.ncomponents = 100
self.send_signal(self.widget.Inputs.data, data)
tran = self.get_output(self.widget.Outputs.transformed_data)
self.assertEqual(len(tran.domain.attributes), 100)
self.widget.ncomponents = 101 # should not be accesible
with self.assertRaises(IndexError):
self.send_signal(self.widget.Inputs.data, data)
def test_migrate_settings_limits_components(self):
settings = dict(ncomponents=10)
OWPCA.migrate_settings(settings, 0)
self.assertEqual(settings['ncomponents'], 10)
settings = dict(ncomponents=101)
OWPCA.migrate_settings(settings, 0)
self.assertEqual(settings['ncomponents'], 100)
def test_migrate_settings_changes_variance_covered_to_int(self):
settings = dict(variance_covered=17.5)
OWPCA.migrate_settings(settings, 0)
self.assertEqual(settings["variance_covered"], 17)
settings = dict(variance_covered=float('nan'))
OWPCA.migrate_settings(settings, 0)
self.assertEqual(settings["variance_covered"], 100)
def test_variance_shown(self):
self.send_signal(self.widget.Inputs.data, self.iris)
self.widget.maxp = 2
self.widget._setup_plot()
var2 = self.widget.variance_covered
self.widget.ncomponents = 3
self.widget._update_selection_component_spin()
var3 = self.widget.variance_covered
self.assertGreater(var3, var2)
def test_sparse_data(self):
"""Check that PCA returns the same results for both dense and sparse data."""
dense_data, sparse_data = self.iris, self.iris.to_sparse()
def _compute_projection(data):
self.send_signal(self.widget.Inputs.data, data)
self.wait_until_stop_blocking()
result = self.get_output(self.widget.Outputs.transformed_data)
self.send_signal(self.widget.Inputs.data, None)
return result
# Disable normalization
self.widget.controls.normalize.setChecked(False)
dense_pca = _compute_projection(dense_data)
sparse_pca = _compute_projection(sparse_data)
np.testing.assert_almost_equal(dense_pca.X, sparse_pca.X)
# Enable normalization
self.widget.controls.normalize.setChecked(True)
dense_pca = _compute_projection(dense_data)
sparse_pca = _compute_projection(sparse_data)
np.testing.assert_almost_equal(dense_pca.X, sparse_pca.X)
def test_all_components_continuous(self):
data = Table(test_filename("datasets/cyber-security-breaches.tab"))
# GH-2329 only occurred on TimeVariables when normalize=False
self.assertTrue(any(isinstance(a, TimeVariable)
#.........这里部分代码省略.........
示例4: TestOWtSNE
# 需要导入模块: from Orange.data import Table [as 别名]
# 或者: from Orange.data.Table import to_sparse [as 别名]
#.........这里部分代码省略.........
self.send_signal(self.widget.Inputs.data, self.data)
def test_attr_models(self):
"""Check possible values for 'Color', 'Shape', 'Size' and 'Label'"""
self.send_signal(self.widget.Inputs.data, self.data)
controls = self.widget.controls
for var in self.data.domain.class_vars + self.data.domain.metas:
self.assertIn(var, controls.attr_color.model())
self.assertIn(var, controls.attr_label.model())
if var.is_continuous:
self.assertIn(var, controls.attr_size.model())
self.assertNotIn(var, controls.attr_shape.model())
if var.is_discrete:
self.assertNotIn(var, controls.attr_size.model())
self.assertIn(var, controls.attr_shape.model())
def test_output_preprocessor(self):
# To test the validity of the preprocessor, we'll have to actually
# compute the projections
self.restore_mocked_functions()
self.send_signal(self.widget.Inputs.data, self.data)
self.wait_until_stop_blocking(wait=20000)
output_data = self.get_output(self.widget.Outputs.annotated_data)
# We send the same data to the widget, we expect the point locations to
# be fairly close to their original ones
pp = self.get_output(self.widget.Outputs.preprocessor)
self.assertIsInstance(pp, Preprocess)
transformed_data = pp(self.data)
self.assertIsInstance(transformed_data, Table)
self.assertEqual(transformed_data.X.shape, (len(self.data), 2))
np.testing.assert_allclose(transformed_data.X, output_data.metas[:, :2],
rtol=1, atol=3)
self.assertEqual([a.name for a in transformed_data.domain.attributes],
[m.name for m in output_data.domain.metas[:2]])
def test_multiscale_changed(self):
self.assertFalse(self.widget.controls.multiscale.isChecked())
self.assertTrue(self.widget.perplexity_spin.isEnabled())
self.widget.controls.multiscale.setChecked(True)
self.assertFalse(self.widget.perplexity_spin.isEnabled())
settings = self.widget.settingsHandler.pack_data(self.widget)
w = self.create_widget(OWtSNE, stored_settings=settings)
self.assertTrue(w.controls.multiscale.isChecked())
self.assertFalse(w.perplexity_spin.isEnabled())
def test_normalize_data(self):
# Normalization should be checked by default
self.assertTrue(self.widget.controls.normalize.isChecked())
with patch("Orange.preprocess.preprocess.Normalize", wraps=Normalize) as normalize:
self.send_signal(self.widget.Inputs.data, self.data)
self.assertTrue(self.widget.controls.normalize.isEnabled())
normalize.assert_called_once()
# Disable checkbox
self.widget.controls.normalize.setChecked(False)
self.assertFalse(self.widget.controls.normalize.isChecked())
with patch("Orange.preprocess.preprocess.Normalize", wraps=Normalize) as normalize:
self.send_signal(self.widget.Inputs.data, self.data)
self.assertTrue(self.widget.controls.normalize.isEnabled())
normalize.assert_not_called()
# Normalization shouldn't work on sparse data
self.widget.controls.normalize.setChecked(True)
self.assertTrue(self.widget.controls.normalize.isChecked())
sparse_data = self.data.to_sparse()
with patch("Orange.preprocess.preprocess.Normalize", wraps=Normalize) as normalize:
self.send_signal(self.widget.Inputs.data, sparse_data)
self.assertFalse(self.widget.controls.normalize.isEnabled())
normalize.assert_not_called()
@patch("Orange.projection.manifold.TSNEModel.optimize")
def test_exaggeration_is_passed_through_properly(self, optimize):
def _check_exaggeration(call, exaggeration):
# Check the last call to `optimize`, so we catch one during the
# regular regime
_, _, kwargs = call.mock_calls[-1]
self.assertIn("exaggeration", kwargs)
self.assertEqual(kwargs["exaggeration"], exaggeration)
# Set value to 1
self.widget.controls.exaggeration.setValue(1)
self.send_signal(self.widget.Inputs.data, self.data)
self.commit_and_wait()
_check_exaggeration(optimize, 1)
# Reset and clear state
optimize.reset_mock()
self.send_signal(self.widget.Inputs.data, None)
# Change to 3
self.widget.controls.exaggeration.setValue(3)
self.send_signal(self.widget.Inputs.data, self.data)
self.commit_and_wait()
_check_exaggeration(optimize, 3)