def test_fit_and_predict_rbf_avltree(self):
        ssvm = FastKernelSurvivalSVM(optimizer='avltree', kernel='rbf',
                                     tol=2e-6, max_iter=75, random_state=0)
        ssvm.fit(self.x.values, self.y)

        self.assertFalse(ssvm._pairwise)
        self.assertEquals(self.x.shape[0], ssvm.coef_.shape[0])

        c = ssvm.score(self.x.values, self.y)
        self.assertGreaterEqual(c, 0.965)
    def test_fit_and_predict_rbf(make_whas500, optimizer):
        whas500 = make_whas500(to_numeric=True)
        ssvm = FastKernelSurvivalSVM(optimizer=optimizer, kernel='rbf',
                                     tol=2e-6, max_iter=75, random_state=0)
        ssvm.fit(whas500.x, whas500.y)

        assert not ssvm._pairwise
        assert whas500.x.shape[0] == ssvm.coef_.shape[0]

        c = ssvm.score(whas500.x, whas500.y)
        assert c >= 0.965
    def test_fit_and_predict_linear(self):
        ssvm = FastKernelSurvivalSVM(optimizer="rbtree", kernel='linear', random_state=0)
        ssvm.fit(self.x.values, self.y)

        self.assertFalse(ssvm._pairwise)
        self.assertEquals(self.x.shape[0], ssvm.coef_.shape[0])

        i = numpy.arange(250)
        numpy.random.RandomState(0).shuffle(i)
        c = ssvm.score(self.x.values[i], self.y[i])
        self.assertAlmostEqual(c, 0.76923445664157997, 6)
Example #4
0
    def test_fit_and_predict_rbf_avltree(self):
        ssvm = FastKernelSurvivalSVM(optimizer="avltree",
                                     kernel='rbf',
                                     random_state=0)
        ssvm.fit(self.x.values, self.y)

        self.assertFalse(ssvm._pairwise)
        self.assertEquals(self.x.shape[0], ssvm.coef_.shape[0])

        c = ssvm.score(self.x.values, self.y)
        self.assertLessEqual(abs(0.92460312179802795 - c), 1e-3)
Example #5
0
    def test_fit_and_predict_rbf_rbtree(self):
        ssvm = FastKernelSurvivalSVM(optimizer="rbtree",
                                     kernel='rbf',
                                     random_state=0)
        ssvm.fit(self.x.values, self.y)

        self.assertFalse(ssvm._pairwise)
        self.assertEquals(self.x.shape[0], ssvm.coef_.shape[0])

        c = ssvm.score(self.x.values, self.y)
        self.assertAlmostEqual(0.92230102862313534, c, 3)
    def test_fit_and_predict_linear(make_whas500):
        whas500 = make_whas500(to_numeric=True)
        ssvm = FastKernelSurvivalSVM(optimizer="rbtree", kernel='linear', random_state=0)
        ssvm.fit(whas500.x, whas500.y)

        assert not ssvm._pairwise
        assert whas500.x.shape[0] == ssvm.coef_.shape[0]

        i = numpy.arange(250)
        numpy.random.RandomState(0).shuffle(i)
        c = ssvm.score(whas500.x[i], whas500.y[i])
        assert round(abs(c - 0.76923445664157997), 6) == 0
    def test_fit_and_predict_clinical_kernel(make_whas500):
        whas500 = make_whas500(to_numeric=True)

        trans = ClinicalKernelTransform()
        trans.fit(whas500.x_data_frame)

        ssvm = FastKernelSurvivalSVM(optimizer="rbtree", kernel=trans.pairwise_kernel,
                                     tol=7e-7, max_iter=100, random_state=0)
        ssvm.fit(whas500.x, whas500.y)

        assert not ssvm._pairwise
        assert whas500.x.shape[0] == ssvm.coef_.shape[0]

        c = ssvm.score(whas500.x, whas500.y)
        assert c >= 0.854
    def test_fit_and_predict_clinical_kernel(self):
        x_full, y = load_whas500()

        trans = ClinicalKernelTransform()
        trans.fit(x_full)
        x = self.x

        ssvm = FastKernelSurvivalSVM(optimizer="rbtree", kernel=trans.pairwise_kernel,
                                     tol=7e-7, max_iter=100, random_state=0)
        ssvm.fit(x.values, y)

        self.assertFalse(ssvm._pairwise)
        self.assertEquals(x.shape[0], ssvm.coef_.shape[0])

        c = ssvm.score(x.values, y)
        self.assertGreaterEqual(c, 0.854)
Example #9
0
    def test_fit_and_predict_linear_regression(make_whas500):
        whas500 = make_whas500(to_numeric=True)
        ssvm = FastKernelSurvivalSVM(optimizer="rbtree", rank_ratio=0.0, kernel="linear",
                                     max_iter=50, tol=1e-8, fit_intercept=True, random_state=0)

        ssvm.fit(whas500.x, whas500.y)

        assert not ssvm._pairwise
        assert round(abs(ssvm.intercept_ - 6.416017539824949), 5) == 0

        i = numpy.arange(250)
        numpy.random.RandomState(0).shuffle(i)
        pred = ssvm.predict(whas500.x[i])
        rmse = numpy.sqrt(mean_squared_error(whas500.y['lenfol'][i], pred))
        assert rmse <= 1342.274550652291 + 0.293

        c = ssvm.score(whas500.x[i], whas500.y[i])
        assert round(abs(c - 0.7630027323714108), 6) == 0
Example #10
0
    def test_fit_and_predict_clinical_kernel(self):
        x_full, y = load_whas500()

        trans = ClinicalKernelTransform()
        trans.fit(x_full)

        x = encode_categorical(standardize(x_full))

        ssvm = FastKernelSurvivalSVM(optimizer="rbtree",
                                     kernel=trans.pairwise_kernel,
                                     max_iter=100,
                                     random_state=0)
        ssvm.fit(x.values, y)

        self.assertFalse(ssvm._pairwise)
        self.assertEquals(x.shape[0], ssvm.coef_.shape[0])

        c = ssvm.score(x.values, y)
        self.assertLessEqual(abs(0.83699051218246412 - c), 1e-3)