def test_simple(self): data = Orange.data.Table("iris") f = SavitzkyGolayFiltering() data = data[:1] fdata = f(data) np.testing.assert_almost_equal( fdata.X, [[4.86857143, 3.47428571, 1.49428571, 0.32857143]])
def test_predict_savgol_another_interpolate(self): train, test = separate_learn_test(self.collagen) train = SavitzkyGolayFiltering(window=9, polyorder=2, deriv=2)(train) auc = AUC(TestOnTestData()(train, test, [LogisticRegressionLearner()])) train = Interpolate(points=getx(train))(train) aucai = AUC(TestOnTestData()(train, test, [LogisticRegressionLearner()])) self.assertAlmostEqual(auc, aucai, delta=0.02)
def test_unknown_no_propagate(self): data = Orange.data.Table("iris") f = SavitzkyGolayFiltering() data = data[:5] for i in range(4): data.X[i, i] = np.nan data.X[4] = np.nan fdata = f(data) np.testing.assert_equal(np.sum(np.isnan(fdata.X), axis=1), [1, 1, 1, 1, 4])
def preprocessor_data(preproc): """ Rerturn appropriate test file for a preprocessor. Very slow preprocessors should get smaller files. """ if isinstance(preproc, ME_EMSC): return SMALLER_COLLAGEN return SMALL_COLLAGEN # Preprocessors that work per sample and should return the same # result for a sample independent of the other samples PREPROCESSORS_INDEPENDENT_SAMPLES = [ Interpolate(np.linspace(1000, 1700, 100)), SavitzkyGolayFiltering(window=9, polyorder=2, deriv=2), Cut(lowlim=1000, highlim=1800), GaussianSmoothing(sd=3.), Absorbance(), Transmittance(), Integrate(limits=[[900, 100], [1100, 1200], [1200, 1300]]), Integrate(methods=Integrate.Simple, limits=[[1100, 1200]]), Integrate(methods=Integrate.Baseline, limits=[[1100, 1200]]), Integrate(methods=Integrate.PeakMax, limits=[[1100, 1200]]), Integrate(methods=Integrate.PeakBaseline, limits=[[1100, 1200]]), Integrate(methods=Integrate.PeakAt, limits=[[1100]]), Integrate(methods=Integrate.PeakX, limits=[[1100, 1200]]), Integrate(methods=Integrate.PeakXBaseline, limits=[[1100, 1200]]), RubberbandBaseline(), LinearBaseline(), Normalize(method=Normalize.Vector),
def test_predict_savgov_same_domain(self): data = SavitzkyGolayFiltering(window=9, polyorder=2, deriv=2)(self.collagen) train, test = separate_learn_test(data) auc = AUC(TestOnTestData()(train, test, [LogisticRegressionLearner()])) self.assertGreater(auc, 0.85)