Skip to content

Commit 38c7b96

Browse files
authored
Merge pull request #6805 from VesnaT/pls_names
PLS: Rename loadings, change U/T order
2 parents ccc6cc3 + b798933 commit 38c7b96

File tree

3 files changed

+10
-11
lines changed

3 files changed

+10
-11
lines changed

Orange/regression/pls.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,6 @@ def trvar(i, name):
122122
domain = Domain(
123123
[trvar(i, var_names_X[i]) for i in range(n_components)],
124124
data.domain.class_vars,
125-
list(data.domain.metas) +
126125
[trvar(n_components + i, var_names_Y[i]) for i in
127126
range(n_components)]
128127
)

Orange/widgets/model/owpls.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def _create_output_coeffs_loadings(self) -> Table:
7171
n_components = x_rotations.shape[1]
7272

7373
names = [f"coef ({v.name})" for v in self.model.domain.class_vars]
74-
names += [f"Loading {i + 1}" for i in range(n_components)]
74+
names += [f"w*c {i + 1}" for i in range(n_components)]
7575
domain = Domain(
7676
[ContinuousVariable(n) for n in names],
7777
metas=[StringVariable("Variable name"),
@@ -98,7 +98,7 @@ def _create_output_data(self) -> Table:
9898
proj_domain = projection.domain
9999
nprobs_domain = normal_probs.domain
100100
dmodx_domain = dmodx.domain
101-
metas = proj_domain.metas + proj_domain.attributes + \
101+
metas = data_domain.metas + proj_domain.attributes + proj_domain.metas + \
102102
nprobs_domain.attributes + dmodx_domain.attributes
103103
domain = Domain(data_domain.attributes, data_domain.class_vars, metas)
104104
data: Table = self.data.transform(domain)

Orange/widgets/model/tests/test_owpls.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def test_output_coefsdata(self):
3838
self.assertEqual(coefsdata.Y.shape, (14, 0))
3939
self.assertEqual(coefsdata.metas.shape, (14, 2))
4040

41-
self.assertEqual(["coef (MEDV)", "Loading 1", "Loading 2"],
41+
self.assertEqual(["coef (MEDV)", "w*c 1", "w*c 2"],
4242
[v.name for v in coefsdata.domain.attributes])
4343
self.assertEqual(["Variable name", "Variable role"],
4444
[v.name for v in coefsdata.domain.metas])
@@ -57,7 +57,7 @@ def test_output_coefsdata_multi_target(self):
5757
self.assertEqual(coefsdata.Y.shape, (14, 0))
5858
self.assertEqual(coefsdata.metas.shape, (14, 2))
5959

60-
attr_names = ["coef (MEDV)", "coef (CRIM)", "Loading 1", "Loading 2"]
60+
attr_names = ["coef (MEDV)", "coef (CRIM)", "w*c 1", "w*c 2"]
6161
self.assertEqual(attr_names,
6262
[v.name for v in coefsdata.domain.attributes])
6363
self.assertEqual(["Variable name", "Variable role"],
@@ -78,7 +78,7 @@ def test_output_data(self):
7878
self.assertEqual(output.metas.shape, (506, 8))
7979
self.assertEqual([v.name for v in self._data.domain.variables],
8080
[v.name for v in output.domain.variables])
81-
metas = ["PLS U1", "PLS U2", "PLS T1", "PLS T2",
81+
metas = ["PLS T1", "PLS T2", "PLS U1", "PLS U2",
8282
"Sample Quantiles (MEDV)", "Theoretical Quantiles (MEDV)",
8383
"DModX"]
8484
self.assertEqual([v.name for v in self._data.domain.metas] + metas,
@@ -93,7 +93,7 @@ def test_output_data_multi_target(self):
9393
orig_domain = self._data_multi_target.domain
9494
self.assertEqual([v.name for v in orig_domain.variables],
9595
[v.name for v in output.domain.variables])
96-
metas = ["PLS U1", "PLS U2", "PLS T1", "PLS T2",
96+
metas = ["PLS T1", "PLS T2", "PLS U1", "PLS U2",
9797
"Sample Quantiles (MEDV)", "Theoretical Quantiles (MEDV)",
9898
"Sample Quantiles (CRIM)", "Theoretical Quantiles (CRIM)",
9999
"DModX"]
@@ -119,10 +119,10 @@ def test_missing_target(self):
119119
data.Y[[0, 4]] = np.nan
120120
self.send_signal(self.widget.Inputs.data, data)
121121
output = self.get_output(self.widget.Outputs.data)
122-
self.assertFalse(np.isnan(output.metas[:, 3:].astype(float)).any())
123-
self.assertTrue(np.isnan(output.metas[0, 1:3].astype(float)).all())
124-
self.assertTrue(np.isnan(output.metas[4, 1:3].astype(float)).all())
125-
self.assertFalse(np.isnan(output.metas[1:4, 1:3].astype(float)).any())
122+
self.assertFalse(np.isnan(output.metas[:, 1:3].astype(float)).any())
123+
self.assertTrue(np.isnan(output.metas[0, 3:4].astype(float)).all())
124+
self.assertTrue(np.isnan(output.metas[4, 3:5].astype(float)).all())
125+
self.assertFalse(np.isnan(output.metas[1:4, 3:5].astype(float)).any())
126126

127127
with data.unlocked(data.Y):
128128
data.Y[:] = np.nan

0 commit comments

Comments
 (0)