Skip to content

Commit

Permalink
Merge pull request #923 from kernc/Preprocessors,unite!
Browse files Browse the repository at this point in the history
Learner-providing widgets: minor fixup that didn't make it into 38446d3
  • Loading branch information
lanzagar committed Dec 18, 2015
2 parents 12f3261 + 5ff28a7 commit 465ce7f
Show file tree
Hide file tree
Showing 11 changed files with 35 additions and 32 deletions.
7 changes: 3 additions & 4 deletions Orange/widgets/classify/owclassificationtree.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,16 @@ class OWClassificationTree(OWProvidesLearner, widget.OWWidget):
description = "Classification tree algorithm with forward pruning."
priority = 30

inputs = [("Data", Table, "set_data")] + OWProvidesLearner.inputs
LEARNER = TreeLearner

inputs = [("Data", Table, "set_data")] + OWProvidesLearner.inputs
outputs = [
("Learner", TreeLearner),
("Learner", LEARNER),
("Tree", TreeClassifier)
]
want_main_area = False
resizing_enabled = False

LEARNER = TreeLearner

model_name = Setting("Classification Tree")
attribute_score = Setting(0)
limit_min_leaf = Setting(True)
Expand Down
6 changes: 3 additions & 3 deletions Orange/widgets/classify/owmajority.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,10 @@ class OWMajority(OWProvidesLearner, widget.OWWidget):
priority = 20
icon = "icons/Majority.svg"

LEARNER = MajorityLearner

inputs = [("Data", Table, "set_data")] + OWProvidesLearner.inputs
outputs = [("Learner", MajorityLearner),
outputs = [("Learner", LEARNER),
("Classifier", ConstantModel)]

learner_name = Setting("Majority")
Expand Down Expand Up @@ -43,8 +45,6 @@ def set_data(self, data):
if data is not None:
self.apply()

LEARNER = MajorityLearner

def apply(self):
learner = self.LEARNER(
preprocessors=self.preprocessors
Expand Down
6 changes: 3 additions & 3 deletions Orange/widgets/classify/owsvmclassification.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@ class OWSVMClassification(OWProvidesLearner, widget.OWWidget):
"selection of kernels."
icon = "icons/SVM.svg"

LEARNER = SVMLearner

inputs = [("Data", Table, "set_data")] + OWProvidesLearner.inputs
outputs = [("Learner", SVMLearner, widget.Default),
outputs = [("Learner", LEARNER, widget.Default),
("Classifier", SVMClassifier),
("Support vectors", Table)]

Expand Down Expand Up @@ -131,8 +133,6 @@ def set_data(self, data):
if data is not None:
self.apply()

LEARNER = SVMLearner # OWProvidesLearner uses this

def apply(self):
kernel = ["linear", "poly", "rbf", "sigmoid"][self.kernel_type]
common_args = dict(
Expand Down
6 changes: 3 additions & 3 deletions Orange/widgets/regression/owknnregression.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,10 @@ class OWKNNRegression(OWProvidesLearner, widget.OWWidget):
icon = "icons/kNearestNeighbours.svg"
priority = 20

LEARNER = KNNRegressionLearner

inputs = [("Data", Table, "set_data")] + OWProvidesLearner.inputs
outputs = [("Learner", KNNRegressionLearner),
outputs = [("Learner", LEARNER),
("Predictor", SklModel)]

want_main_area = False
Expand Down Expand Up @@ -62,8 +64,6 @@ def set_data(self, data):
if data is not None:
self.apply()

LEARNER = KNNRegressionLearner

def apply(self):
"""
Construct the learner and apply it on the training data if available.
Expand Down
6 changes: 3 additions & 3 deletions Orange/widgets/regression/owlinearregression.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,10 @@ class OWLinearRegression(OWProvidesLearner, widget.OWWidget):
"regularization."
icon = "icons/LinearRegression.svg"

LEARNER = LinearRegressionLearner

inputs = [("Data", Table, "set_data")] + OWProvidesLearner.inputs
outputs = [("Linear Regression", LinearRegressionLearner),
outputs = [("Linear Regression", LEARNER),
("Model", LinearModel),
("Coefficients", Table)]

Expand Down Expand Up @@ -97,8 +99,6 @@ def _alpha_changed(self):
self._set_alpha_label()
self.commit()

LEARNER = LinearRegressionLearner # OWProvidesLearner uses this

def apply(self):
return self.commit()

Expand Down
7 changes: 4 additions & 3 deletions Orange/widgets/regression/owmean.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,11 @@ class OWMean(OWProvidesLearner, widget.OWWidget):
description = "Regression to the average class value from the training set."
icon = "icons/Mean.svg"

LEARNER = MeanLearner

inputs = [("Data", Table, "set_data")] + OWProvidesLearner.inputs
outputs = [("Learner", MeanLearner), ("Predictor", MeanModel)]
outputs = [("Learner", LEARNER),
("Predictor", MeanModel)]

learner_name = settings.Setting("Mean Learner")

Expand All @@ -35,8 +38,6 @@ def set_data(self, data):
if data is not None:
self.apply()

LEARNER = MeanLearner

def apply(self):
learner = self.LEARNER(preprocessors=self.preprocessors)
learner.name = self.learner_name
Expand Down
4 changes: 2 additions & 2 deletions Orange/widgets/regression/owrandomforestregression.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ class OWRandomForestRegression(OWRandomForest):
name = "Random Forest Regression"
description = "Random forest regression algorithm."

outputs = [("Learner", RandomForestRegressionLearner),
LEARNER = RandomForestRegressionLearner
outputs = [("Learner", LEARNER),
("Model", RandomForestRegressor)]

LEARNER = RandomForestRegressionLearner
learner_name = settings.Setting("RF Regression Learner")
n_estimators = settings.Setting(10)
max_features = settings.Setting(5)
Expand Down
6 changes: 4 additions & 2 deletions Orange/widgets/regression/owregressiontree.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@ class OWRegressionTree(OWClassificationTree):
icon = "icons/RegressionTree.svg"
description = "Regression tree algorithm with forward pruning."

outputs = [("Learner", TreeRegressionLearner), ("Tree", TreeRegressor)]

LEARNER = TreeRegressionLearner

outputs = [("Learner", LEARNER),
("Tree", TreeRegressor)]

model_name = Setting("Regression Tree")
attribute_score = Setting(0)
limit_min_leaf = Setting(True)
Expand Down
6 changes: 3 additions & 3 deletions Orange/widgets/regression/owsgdregression.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,10 @@ class OWSGDRegression(OWProvidesLearner, widget.OWWidget):
description = "Stochastic gradient descent algorithm for regression."
icon = "icons/SGDRegression.svg"

LEARNER = SGDRegressionLearner

inputs = [("Data", Table, "set_data")] + OWProvidesLearner.inputs
outputs = [("Learner", SGDRegressionLearner),
outputs = [("Learner", LEARNER),
("Predictor", LinearModel)]

learner_name = settings.Setting("SGD Regression")
Expand Down Expand Up @@ -136,8 +138,6 @@ def set_data(self, data):
if data is not None:
self.apply()

LEARNER = SGDRegressionLearner

def apply(self):
loss = ["squared_loss", "huber", "epsilon_insensitive", "squared_epsilon_insensitive"][self.loss_function]
penalty = ["l1", "l2", "elasticnet"][self.penalty_type]
Expand Down
7 changes: 4 additions & 3 deletions Orange/widgets/regression/owsvmregression.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,11 @@ class OWSVMRegression(OWProvidesLearner, widget.OWWidget):
name = "SVM Regression"
description = "Support vector machine regression algorithm."
icon = "icons/SVMRegression.svg"

LEARNER = SVRLearner

inputs = [("Data", Table, "set_data")] + OWProvidesLearner.inputs
outputs = [("Learner", SVRLearner, widget.Default),
outputs = [("Learner", LEARNER, widget.Default),
("Predictor", SklModel),
("Support vectors", Table)]

Expand Down Expand Up @@ -150,8 +153,6 @@ def set_data(self, data):
if data is not None:
self.apply()

LEARNER = SVRLearner # OWProvidesLearner uses this

def apply(self):
kernel = ["linear", "poly", "rbf", "sigmoid"][self.kernel_type]
common_args = dict(
Expand Down
6 changes: 3 additions & 3 deletions Orange/widgets/regression/owunivariateregression.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,11 @@ class OWUnivariateRegression(OWProvidesLearner, widget.OWWidget):
description = "Univariate regression with polynomial expansion."
icon = "icons/UnivariateRegression.svg"

LEARNER = LinearRegressionLearner

inputs = [("Data", Table, "set_data", widget.Default),
("Learner", Learner, "set_learner")] + OWProvidesLearner.inputs
outputs = [("Learner", Learner),
outputs = [("Learner", LEARNER),
("Predictor", LinearModel)]

learner_name = settings.Setting("Univariate Regression")
Expand Down Expand Up @@ -180,8 +182,6 @@ def plot_regression_line(self, x_data, y_data):
self.plotview.addItem(self.plot_item)
self.plotview.replot()

LEARNER = LinearRegressionLearner

def apply(self):
learner = self.learner
predictor = None
Expand Down

0 comments on commit 465ce7f

Please sign in to comment.