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
def test_NuSVM(self): n = int(0.7 * self.data.X.shape[0]) learn = svm.NuSVMLearner(nu=0.01) clf = learn(self.data[:n]) z = clf(self.data[n:]) self.assertTrue( np.sum(z.reshape((-1, 1)) == self.data.Y[n:]) > 0.7 * len(z))
def apply(self): kernel = ["linear", "poly", "rbf", "sigmoid"][self.kernel_type] common_args = dict(kernel=kernel, degree=self.degree, gamma=self.gamma, coef0=self.coef0, tol=self.tol, probability=True, preprocessors=self.preprocessors) if self.svmtype == 0: learner = svm.SVMLearner(C=self.C, **common_args) else: learner = svm.NuSVMLearner(nu=self.nu, **common_args) learner.name = self.learner_name classifier = None sv = None if self.data is not None: classifier = learner(self.data) classifier.name = self.learner_name sv = self.data[classifier.skl_model.support_] self.send("Learner", learner) self.send("Classifier", classifier) self.send("Support vectors", sv)
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