def main():
    print('Loading data...')
    mnist = np.loadtxt('data/mnist_test.csv', delimiter=',')

    X_train = mnist[:len(mnist)//2, 1:]
    y_train = mnist[:len(mnist)//2, 0].astype(np.int)

    X_test = mnist[len(mnist)//2:, 1:]
    y_test = mnist[len(mnist)//2:, 0].astype(np.int)

    print('Training Sklearn OVR...')
    y_pred_train, y_pred_test = sklearn_multiclass_prediction(
        'ovr', X_train, y_train, X_test)
    print('Sklearn OVR Accuracy (train):',
          metrics.accuracy_score(y_train, y_pred_train))
    print('Sklearn OVR Accuracy (test) :',
          metrics.accuracy_score(y_test, y_pred_test))

    print('Training Sklearn OVO...')
    y_pred_train, y_pred_test = sklearn_multiclass_prediction(
        'ovo', X_train, y_train, X_test)
    print('Sklearn OVO Accuracy (train):',
          metrics.accuracy_score(y_train, y_pred_train))
    print('Sklearn OVO Accuracy (test) :',
          metrics.accuracy_score(y_test, y_pred_test))

    print('Training Sklearn Crammer-Singer...')
    y_pred_train, y_pred_test = sklearn_multiclass_prediction(
        'crammer', X_train, y_train, X_test)
    print('Sklearn Crammer-Singer Accuracy (train):',
          metrics.accuracy_score(y_train, y_pred_train))
    print('Sklearn Crammer-Singer Accuracy (test) :',
          metrics.accuracy_score(y_test, y_pred_test))

    print('Training self OVR...')
    self_ovr = MulticlassSVM('ovr')
    self_ovr.fit(X_train, y_train)
    print('Self OVR Accuracy (train):',
          metrics.accuracy_score(y_train, self_ovr.predict(X_train)))
    print('Self OVR Accuracy (test) :',
          metrics.accuracy_score(y_test, self_ovr.predict(X_test)))

    print('Training self OVO...')
    self_ovo = MulticlassSVM('ovo')
    self_ovo.fit(X_train, y_train)
    print('Self OVO Accuracy (train):',
          metrics.accuracy_score(y_train, self_ovo.predict(X_train)))
    print('Self OVO Accuracy (test) :',
          metrics.accuracy_score(y_test, self_ovo.predict(X_test)))

    print('Training self Crammer-Singer...')
    self_cs = MulticlassSVM('crammer-singer')
    self_cs.fit(X_train, y_train)
    print('Self Crammer-Singer Accuracy (train):',
          metrics.accuracy_score(y_train, self_cs.predict(X_train)))
    print('Self Crammer-Singer Accuracy (test) :',
          metrics.accuracy_score(y_test, self_cs.predict(X_test)))
Example #2
0
    def test_sklearn_crammer_accuracy(self):
        y_pred_train, y_pred_test = sklearn_multiclass_prediction(
            'crammer', self.X_train, self.y_train, self.X_test)

        train_acc = metrics.accuracy_score(self.y_train, y_pred_train)
        test_acc = metrics.accuracy_score(self.y_test, y_pred_test)

        self.assertTrue(abs(train_acc - 1.0) < 5e-3)
        self.assertTrue(abs(test_acc - 0.85825) < 5e-3)
Example #3
0
    def test_sklearn_ovo_accuracy(self):
        y_pred_train, y_pred_test = sklearn_multiclass_prediction(
            'ovo', self.X_train, self.y_train, self.X_test)

        train_acc = metrics.accuracy_score(self.y_train, y_pred_train)
        test_acc = metrics.accuracy_score(self.y_test, y_pred_test)

        self.assertTrue(abs(train_acc - 1.0) < 1e-6)
        self.assertTrue(abs(test_acc - 0.892625) < 1e-6)
    def test_sklearn_ovr_accuracy(self):
        y_pred_train, y_pred_test = sklearn_multiclass_prediction(
            'ovr', self.X_train, self.y_train, self.X_test)

        train_acc = metrics.accuracy_score(self.y_train, y_pred_train)
        test_acc = metrics.accuracy_score(self.y_test, y_pred_test)

        self.assertTrue(abs(train_acc - 1.0) < 1e-6)
        print('test_acc = ' + str(test_acc))
        self.assertTrue(abs(test_acc - 0.814875) < 1e-6)
    def test_sklearn_ovr_accuracy(self):
        y_pred_train, y_pred_test = sklearn_multiclass_prediction(
            'ovr', self.X_train, self.y_train, self.X_test)

        train_acc = metrics.accuracy_score(self.y_train, y_pred_train)
        test_acc = metrics.accuracy_score(self.y_test, y_pred_test)
        print("my0 train_acc", abs(train_acc - 1.0))
        print("my0 test_acc", abs(test_acc - 0.814875))
        self.assertTrue(abs(train_acc - 1.0) < 5e-3)
        self.assertTrue(abs(test_acc - 0.814875) < 5e-3)
Example #6
0
if __name__ == '__main__':
    print('Loading data...')
    mnist = np.loadtxt('data/mnist_test.csv', delimiter=',')

    X_train = mnist[:len(mnist) // 2, 1:]
    print(np.shape(X_train))
    y_train = mnist[:len(mnist) // 2, 0].astype(np.int)
    print(y_train)

    X_test = mnist[len(mnist) // 2:, 1:]
    y_test = mnist[len(mnist) // 2:, 0].astype(np.int)
    print(np.shape(X_test))
    print(np.shape(y_test))
    print('Training Sklearn OVR...')
    y_pred_train, y_pred_test = sklearn_multiclass_prediction(
        'ovr', X_train, y_train, X_test)
    print('Sklearn OVR Accuracy (train):',
          metrics.accuracy_score(y_train, y_pred_train))
    print('Sklearn OVR Accuracy (test) :',
          metrics.accuracy_score(y_test, y_pred_test))
    print("pred_test result:", y_pred_test)
    print("pred test shape:", np.shape(y_pred_test))

    print('Training Sklearn OVO...')
    y_pred_train, y_pred_test = sklearn_multiclass_prediction(
        'ovo', X_train, y_train, X_test)
    print('Sklearn OVO Accuracy (train):',
          metrics.accuracy_score(y_train, y_pred_train))
    print('Sklearn OVO Accuracy (test) :',
          metrics.accuracy_score(y_test, y_pred_test))