本文整理汇总了Python中Orange.data.Table类的典型用法代码示例。如果您正苦于以下问题:Python Table类的具体用法?Python Table怎么用?Python Table使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Table类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: extend_corpus
def extend_corpus(self, metadata, Y):
"""
Append documents to corpus.
Args:
metadata (numpy.ndarray): Meta data
Y (numpy.ndarray): Class variables
"""
if np.prod(self.X.shape) != 0:
raise ValueError("Extending corpus only works when X is empty"
"while the shape of X is {}".format(self.X.shape))
self.metas = np.vstack((self.metas, metadata))
cv = self.domain.class_var
for val in set(filter(None, Y)):
if val not in cv.values:
cv.add_value(val)
new_Y = np.array([cv.to_val(i) for i in Y])[:, None]
self._Y = np.vstack((self._Y, new_Y))
self.X = self.W = np.zeros((self.metas.shape[0], 0))
Table._init_ids(self)
self._tokens = None # invalidate tokens
示例2: set_data
def set_data(self, data):
self.information(1)
if isinstance(data, SqlTable):
if data.approx_len() < 4000:
data = Table(data)
else:
self.information(1, "Data has been sampled")
data_sample = data.sample_time(1, no_cache=True)
data_sample.download_data(2000, partial=True)
data = Table(data_sample)
if data is not None and (len(data) == 0 or len(data.domain) == 0):
data = None
if self.data and data and self.data.checksum() == data.checksum():
return
self.closeContext()
same_domain = \
self.data and data and \
data.domain.checksum() == self.data.domain.checksum()
self.data = data
self.data_metas_X = self.move_primitive_metas_to_X(data)
# TODO: adapt scatter plot to work on SqlTables (avoid use of X and Y)
if isinstance(self.data, SqlTable):
self.data.download_data()
if not same_domain:
self.init_attr_values()
self.vizrank._initialize()
self.vizrank_button.setEnabled(
self.data is not None and self.data.domain.class_var is not None
and len(self.data.domain.attributes) > 1)
self.openContext(self.data)
示例3: send_features
def send_features(self):
features = None
if self.attr_x or self.attr_y:
dom = Domain([], metas=(StringVariable(name="feature"),))
features = Table(dom, [[self.attr_x], [self.attr_y]])
features.name = "Features"
self.Outputs.features.send(features)
示例4: set_train_data
def set_train_data(self, data):
"""
Set the input training dataset.
"""
self.error(0)
self.information(0)
if data and not data.domain.class_var:
self.error(0, "Train data input requires a class variable")
data = None
if isinstance(data, SqlTable):
if data.approx_len() < AUTO_DL_LIMIT:
data = Table(data)
else:
self.information(0, "Train data has been sampled")
data_sample = data.sample_time(1, no_cache=True)
data_sample.download_data(AUTO_DL_LIMIT, partial=True)
data = Table(data_sample)
self.warning(4)
self.train_data_missing_vals = data is not None and \
np.isnan(data.Y).any()
if self.train_data_missing_vals or self.test_data_missing_vals:
self.warning(4, self._get_missing_data_warning(
self.train_data_missing_vals, self.test_data_missing_vals
))
if data:
data = RemoveNaNClasses(data)
self.data = data
self.closeContext()
if data is not None:
self._update_class_selection()
self.openContext(data.domain.class_var)
self._invalidate()
示例5: commit
def commit(self):
transformed = components = pp = None
if self._pca is not None:
if self._transformed is None:
# Compute the full transform (MAX_COMPONENTS components) only once.
self._transformed = self._pca(self.data)
transformed = self._transformed
domain = Domain(
transformed.domain.attributes[:self.ncomponents],
self.data.domain.class_vars,
self.data.domain.metas
)
transformed = transformed.from_table(domain, transformed)
# prevent caching new features by defining compute_value
dom = Domain([ContinuousVariable(a.name, compute_value=lambda _: None)
for a in self._pca.orig_domain.attributes],
metas=[StringVariable(name='component')])
metas = numpy.array([['PC{}'.format(i + 1)
for i in range(self.ncomponents)]],
dtype=object).T
components = Table(dom, self._pca.components_[:self.ncomponents],
metas=metas)
components.name = 'components'
pp = ApplyDomain(domain, "PCA")
self._pca_projector.component = self.ncomponents
self.Outputs.transformed_data.send(transformed)
self.Outputs.components.send(components)
self.Outputs.pca.send(self._pca_projector)
self.Outputs.preprocessor.send(pp)
示例6: set_data
def set_data(self, data):
self.closeContext()
self.clear_messages()
self.clear()
self.information()
self.data = None
if isinstance(data, SqlTable):
if data.approx_len() < AUTO_DL_LIMIT:
data = Table(data)
else:
self.information("Data has been sampled")
data_sample = data.sample_time(1, no_cache=True)
data_sample.download_data(2000, partial=True)
data = Table(data_sample)
if isinstance(data, Table):
if len(data.domain.attributes) == 0:
self.Error.no_features()
self.clear_outputs()
return
if len(data) == 0:
self.Error.no_instances()
self.clear_outputs()
return
self.openContext(data)
self._init_projector()
self.data = data
self.fit()
示例7: prepare_data
def prepare_data():
data = Table("iris")
values = list(range(15))
class_var = DiscreteVariable("iris5", values=[str(v) for v in values])
data = data.transform(Domain(attributes=data.domain.attributes, class_vars=[class_var]))
data.Y = np.array(values * 10, dtype=float)
return data
示例8: test_wrong_input
def test_wrong_input(self):
# no data
self.data = None
self.send_signal(self.widget.Inputs.data, self.data)
self.assertIsNone(self.widget.data)
# <2 rows
self.data = Table(self.domain, [[1, 2, 3, 4, 5, 'STG1']])
self.send_signal(self.widget.Inputs.data, self.data)
self.assertIsNone(self.widget.data)
self.assertTrue(self.widget.Error.not_enough_rows.is_shown())
# no attributes
self.data = Table(self.empty_domain, [['STG1']] * 2)
self.send_signal(self.widget.Inputs.data, self.data)
self.assertIsNone(self.widget.data)
self.assertTrue(self.widget.Error.no_attributes.is_shown())
# constant data
self.data = Table(self.domain, [[1, 2, 3, 4, 5, 'STG1']] * 2)
self.send_signal(self.widget.Inputs.data, self.data)
self.assertIsNone(self.widget.data)
self.assertTrue(self.widget.Error.constant_data.is_shown())
# correct input
self.data = Table(self.domain, [[1, 2, 3, 4, 5, 'STG1'],
[5, 4, 3, 2, 1, 'STG1']])
self.send_signal(self.widget.Inputs.data, self.data)
self.assertIsNotNone(self.widget.data)
self.assertFalse(self.widget.Error.not_enough_rows.is_shown())
self.assertFalse(self.widget.Error.no_attributes.is_shown())
self.assertFalse(self.widget.Error.constant_data.is_shown())
示例9: test_varying_between_combined
def test_varying_between_combined(self):
X = np.array([[0, 0, 0, 0, 0, 1,],
[0, 0, 1, 1, 0, 1,],
[0, 0, 0, 2, np.nan, np.nan,],
[0, 1, 0, 0, 0, 0,],
[0, 1, 0, 2, 0, 0,],
[0, 1, 0, 0, np.nan, 0,]])
M = np.array([["A", 0, 0, 0, 0, 0, 1,],
["A", 0, 0, 1, 1, 0, 1,],
["A", 0, 0, 0, 2, np.nan, np.nan,],
["B", 0, 1, 0, 0, 0, 0,],
["B", 0, 1, 0, 2, 0, 0,],
["B", 0, 1, 0, 0, np.nan, 0,]], dtype=str)
variables = [ContinuousVariable(name="F%d" % j) for j in range(X.shape[1])]
metas = [StringVariable(name="M%d" % j) for j in range(M.shape[1])]
domain = Domain(attributes=variables, metas=metas)
data = Table.from_numpy(X=X, domain=domain, metas=M)
self.assertEqual(varying_between(data, idvar=data.domain.metas[0]),
[variables[2], variables[3], metas[3], metas[4], metas[5], metas[6]])
data = Table.from_numpy(X=sp.csr_matrix(X), domain=domain, metas=M)
self.assertEqual(varying_between(data, idvar=data.domain.metas[0]),
[variables[2], variables[3], metas[3], metas[4], metas[5], metas[6]])
示例10: set_train_data
def set_train_data(self, data):
"""
Set the input training dataset.
Parameters
----------
data : Optional[Orange.data.Table]
"""
self.Information.data_sampled.clear()
self.Error.train_data_empty.clear()
self.Error.class_required.clear()
self.Error.too_many_classes.clear()
self.Error.no_class_values.clear()
self.Error.only_one_class_var_value.clear()
if data is not None and not len(data):
self.Error.train_data_empty()
data = None
if data:
conds = [not data.domain.class_vars,
len(data.domain.class_vars) > 1,
np.isnan(data.Y).all(),
data.domain.has_discrete_class and len(data.domain.class_var.values) == 1]
errors = [self.Error.class_required,
self.Error.too_many_classes,
self.Error.no_class_values,
self.Error.only_one_class_var_value]
for cond, error in zip(conds, errors):
if cond:
error()
data = None
break
if isinstance(data, SqlTable):
if data.approx_len() < AUTO_DL_LIMIT:
data = Table(data)
else:
self.Information.data_sampled()
data_sample = data.sample_time(1, no_cache=True)
data_sample.download_data(AUTO_DL_LIMIT, partial=True)
data = Table(data_sample)
self.train_data_missing_vals = \
data is not None and np.isnan(data.Y).any()
if self.train_data_missing_vals or self.test_data_missing_vals:
self.Warning.missing_data(self._which_missing_data())
if data:
data = HasClass()(data)
else:
self.Warning.missing_data.clear()
self.data = data
self.closeContext()
self._update_scorers()
self._update_controls()
if data is not None:
self._update_class_selection()
self.openContext(data.domain)
if self.fold_feature_selected and bool(self.feature_model):
self.resampling = OWTestLearners.FeatureFold
self._invalidate()
示例11: commit
def commit(self):
if self.data is None or self.cont_data is None:
self.Outputs.data.send(self.data)
self.Outputs.features.send(None)
self.Outputs.correlations.send(None)
return
attrs = [ContinuousVariable("Correlation"), ContinuousVariable("FDR")]
metas = [StringVariable("Feature 1"), StringVariable("Feature 2")]
domain = Domain(attrs, metas=metas)
model = self.vizrank.rank_model
x = np.array([[float(model.data(model.index(row, 0), role))
for role in (Qt.DisplayRole, CorrelationRank.PValRole)]
for row in range(model.rowCount())])
x[:, 1] = FDR(list(x[:, 1]))
# pylint: disable=protected-access
m = np.array([[a.name for a in model.data(model.index(row, 0),
CorrelationRank._AttrRole)]
for row in range(model.rowCount())], dtype=object)
corr_table = Table(domain, x, metas=m)
corr_table.name = "Correlations"
self.Outputs.data.send(self.data)
# data has been imputed; send original attributes
self.Outputs.features.send(AttributeList(
[self.data.domain[name] for name, _ in self.selection]))
self.Outputs.correlations.send(corr_table)
示例12: SVMTest
class SVMTest(unittest.TestCase):
def setUp(self):
self.data = Table('ionosphere')
self.data.shuffle()
def test_SVM(self):
learn = SVMLearner()
res = CrossValidation(self.data, [learn], k=2)
self.assertGreater(CA(res)[0], 0.9)
def test_LinearSVM(self):
learn = LinearSVMLearner()
res = CrossValidation(self.data, [learn], k=2)
self.assertTrue(0.8 < CA(res)[0] < 0.9)
def test_NuSVM(self):
learn = NuSVMLearner(nu=0.01)
res = CrossValidation(self.data, [learn], k=2)
self.assertGreater(CA(res)[0], 0.9)
def test_SVR(self):
nrows, ncols = 200, 5
X = np.random.rand(nrows, ncols)
y = X.dot(np.random.rand(ncols))
data = Table(X, y)
learn = SVRLearner(kernel='rbf', gamma=0.1)
res = CrossValidation(data, [learn], k=2)
self.assertLess(RMSE(res)[0], 0.15)
def test_NuSVR(self):
nrows, ncols = 200, 5
X = np.random.rand(nrows, ncols)
y = X.dot(np.random.rand(ncols))
data = Table(X, y)
learn = NuSVRLearner(kernel='rbf', gamma=0.1)
res = CrossValidation(data, [learn], k=2)
self.assertLess(RMSE(res)[0], 0.1)
def test_OneClassSVM(self):
np.random.seed(42)
domain = Domain((ContinuousVariable("c1"), ContinuousVariable("c2")))
X_in = 0.3 * np.random.randn(40, 2)
X_out = np.random.uniform(low=-4, high=4, size=(20, 2))
X_all = Table(domain, np.r_[X_in + 2, X_in - 2, X_out])
n_true_in = len(X_in) * 2
n_true_out = len(X_out)
nu = 0.2
learner = OneClassSVMLearner(nu=nu)
cls = learner(X_all)
y_pred = cls(X_all)
n_pred_out_all = np.sum(y_pred == -1)
n_pred_in_true_in = np.sum(y_pred[:n_true_in] == 1)
n_pred_out_true_out = np.sum(y_pred[- n_true_out:] == -1)
self.assertTrue(all(np.absolute(y_pred) == 1))
self.assertTrue(n_pred_out_all <= len(X_all) * nu)
self.assertTrue(np.absolute(n_pred_out_all - n_true_out) < 2)
self.assertTrue(np.absolute(n_pred_in_true_in - n_true_in) < 4)
self.assertTrue(np.absolute(n_pred_out_true_out - n_true_out) < 3)
示例13: set_test_data
def set_test_data(self, data):
"""
Set the input separate testing dataset.
"""
self.Information.test_data_sampled.clear()
if data and not data.domain.class_var:
self.Error.class_required()
data = None
else:
self.Error.class_required_test.clear()
if isinstance(data, SqlTable):
if data.approx_len() < AUTO_DL_LIMIT:
data = Table(data)
else:
self.Information.test_data_sampled()
data_sample = data.sample_time(1, no_cache=True)
data_sample.download_data(AUTO_DL_LIMIT, partial=True)
data = Table(data_sample)
self.test_data_missing_vals = data is not None and np.isnan(data.Y).any()
if self.train_data_missing_vals or self.test_data_missing_vals:
self.Warning.missing_data(self._which_missing_data())
if data:
data = RemoveNaNClasses(data)
else:
self.Warning.missing_data.clear()
self.test_data = data
if self.resampling == OWTestLearners.TestOnTest:
self._invalidate()
示例14: set_train_data
def set_train_data(self, data):
"""
Set the input training dataset.
"""
self.Information.data_sampled.clear()
if data and not data.domain.class_var:
self.Error.class_required()
data = None
else:
self.Error.class_required.clear()
if isinstance(data, SqlTable):
if data.approx_len() < AUTO_DL_LIMIT:
data = Table(data)
else:
self.Information.data_sampled()
data_sample = data.sample_time(1, no_cache=True)
data_sample.download_data(AUTO_DL_LIMIT, partial=True)
data = Table(data_sample)
self.train_data_missing_vals = data is not None and np.isnan(data.Y).any()
if self.train_data_missing_vals or self.test_data_missing_vals:
self.Warning.missing_data(self._which_missing_data())
if data:
data = RemoveNaNClasses(data)
else:
self.Warning.missing_data.clear()
self.data = data
self.closeContext()
if data is not None:
self._update_class_selection()
self.openContext(data.domain.class_var)
self._invalidate()
示例15: test_inputs_check_sql
def test_inputs_check_sql(self):
"""Test if check_sql_input is called when data is sent to a widget."""
d = Table()
self.send_signal(self.widget.Inputs.data, d)
self.assertIs(self.widget.pop_called_with(), d)
a_table = object()
with patch("Orange.widgets.utils.sql.Table",
MagicMock(return_value=a_table)) as table_mock:
d = SqlTable(None, None, MagicMock())
d.approx_len = MagicMock(return_value=AUTO_DL_LIMIT - 1)
self.send_signal(self.widget.Inputs.data, d)
table_mock.assert_called_once_with(d)
self.assertIs(self.widget.pop_called_with(), a_table)
table_mock.reset_mock()
d.approx_len = MagicMock(return_value=AUTO_DL_LIMIT + 1)
self.send_signal(self.widget.Inputs.data, d)
table_mock.assert_not_called()
self.assertIs(self.widget.pop_called_with(), None)
self.assertTrue(self.widget.Error.download_sql_data.is_shown())
table_mock.reset_mock()
self.send_signal(self.widget.Inputs.data, None)
table_mock.assert_not_called()
self.assertIs(self.widget.pop_called_with(), None)
self.assertFalse(self.widget.Error.download_sql_data.is_shown())