示例#1
0
def main():
    import sip
    from PyQt4.QtGui import QApplication
    from Orange.classification import logistic_regression, svm
    from Orange.evaluation import testing

    app = QApplication([])
    w = OWLiftCurve()
    w.show()
    w.raise_()

    data = Orange.data.Table("ionosphere")
    results = testing.CrossValidation(
        data,
        [logistic_regression.LogisticRegressionLearner(penalty="l2"),
         logistic_regression.LogisticRegressionLearner(penalty="l1"),
         svm.SVMLearner(probability=True),
         svm.NuSVMLearner(probability=True)
         ],
        store_data=True
    )
    results.fitter_names = ["LR l2", "LR l1", "SVM", "Nu SVM"]
    w.set_results(results)
    rval = app.exec_()

    sip.delete(w)
    del w
    app.processEvents()
    del app
    return rval
示例#2
0
def main():
    import gc
    import sip
    from PyQt4.QtGui import QApplication
    from Orange.classification import logistic_regression, svm

    app = QApplication([])
    w = OWROCAnalysis()
    w.show()
    w.raise_()

#     data = Orange.data.Table("iris")
    data = Orange.data.Table("ionosphere")
    results = Orange.evaluation.testing.CrossValidation(
        data,
        [logistic_regression.LogisticRegressionLearner(),
         logistic_regression.LogisticRegressionLearner(penalty="l1"),
         svm.SVMLearner(probability=True),
         svm.NuSVMLearner(probability=True)],
        k=5,
        store_data=True,
    )
    results.fitter_names = ["Logistic", "Logistic (L1 reg.)", "SVM", "NuSVM"]
    w.set_results(results)

    rval = app.exec_()
    w.deleteLater()
    sip.delete(w)
    del w
    app.processEvents()
    sip.delete(app)
    del app
    gc.collect()
    return rval
示例#3
0
    def apply(self):
        penalty = ["l1", "l2"][self.penalty_type]
        learner = lr.LogisticRegressionLearner(
            penalty=penalty,
            dual=self.dual,
            tol=self.tol,
            C=self.C,
            fit_intercept=self.fit_intercept,
            intercept_scaling=self.intercept_scaling,
            preprocessors=self.preprocessors
        )
        learner.name = self.learner_name
        classifier = None

        if self.data is not None:
            self.error([0, 1])
            if not learner.check_learner_adequacy(self.data.domain):
                self.error(0, learner.learner_adequacy_err_msg)
            elif len(np.unique(self.data.Y)) < 2:
                self.error(1, "Data contains only one target value.")
            else:
                classifier = learner(self.data)
                classifier.name = self.learner_name

        self.send("Learner", learner)
        self.send("Classifier", classifier)
示例#4
0
def main():
    from Orange.classification import \
        logistic_regression as lr, naive_bayes as nb

    app = QtGui.QApplication([])
    data = Orange.data.Table("iris")
    w = OWTestLearners()
    w.show()
    w.set_train_data(data)
    w.set_test_data(data)
    w.set_learner(lr.LogisticRegressionLearner(), 1)
    w.set_learner(nb.NaiveBayesLearner(), 2)
    w.handleNewSignals()
    return app.exec_()
示例#5
0
    def apply(self):
        penalty = ["l1", "l2"][self.penalty_type]
        learner = lr.LogisticRegressionLearner(
            penalty=penalty,
            dual=self.dual,
            tol=self.tol,
            C=self.C,
            fit_intercept=self.fit_intercept,
            intercept_scaling=self.intercept_scaling)
        learner.name = self.learner_name
        classifier = None

        if self.data is not None:
            classifier = learner(self.data)
            classifier.name = self.learner_name

        self.send("Learner", learner)
        self.send("Classifier", classifier)
示例#6
0

def predict_discrete(predictor, data):
    return predictor(data, Model.ValueProbs)


def predict_continuous(predictor, data):
    values = predictor(data, Model.Value)
    return values, [None] * len(data)


def is_discrete(var):
    return isinstance(var, Orange.data.DiscreteVariable)


if __name__ == "__main__":
    import Orange.classification.svm as svm
    import Orange.classification.logistic_regression as lr
    app = QtGui.QApplication([])
    w = OWPredictions()
    data = Orange.data.Table("iris")
    svm_clf = svm.SVMLearner(probability=True)(data)
    lr_clf = lr.LogisticRegressionLearner()(data)
    w.setData(data)
    w.setPredictor(svm_clf, 0)
    w.setPredictor(lr_clf, 1)
    w.handleNewSignals()
    w.show()
    app.exec_()
    w.saveSettings()