def test_MissingPredictions(self):
        qa = {"P1": "E", "P2": "N", "P3": "N"}
        p = {"P1": "E", "P2": "N"}

        with self.assertRaises(SystemExit) as context:
            evaluator.calculate_accuracy(qa, p)
        self.assertEqual(context.exception.code, evaluator.EXIT_STATUS_PREDICTION_MISSING)
Ejemplo n.º 2
0
def main():
    print 'Accuracies'
    print 'k\tBinary \tMulticlass'
    for k in range(3, 7):
        # 2 class classification
        X_train, y_train = preprocessor.get_binary_train_features(k)
        mlr_model = logisticRegression.perform_binary_logistic_regression(
            X_train, y_train)

        X_test, y_test = preprocessor.get_binary_test_features(k)
        pred_y = mlr_model.predict(X_test)

        binary_accuracy = evaluator.calculate_accuracy(y_test, pred_y)
        binary_accuracy = round(binary_accuracy, 2)

        #Classification with 3 classes
        X_train, y_train = preprocessor.get_multiclass_train_features(k)
        mlr_model = logisticRegression.perform_multiclass_logistic_regression(
            X_train, y_train)

        X_test, y_test = preprocessor.get_multiclass_test_features(k)
        pred_y = mlr_model.predict(X_test)

        multiclass_accuracy = evaluator.calculate_accuracy(y_test, pred_y)
        multiclass_accuracy = round(multiclass_accuracy, 2)
        print str(k) + '\t' + str(binary_accuracy) + '     \t' + str(
            multiclass_accuracy)
Ejemplo n.º 3
0
    def test_ExtraPredictions(self):
        qa = {"Q1": "A", "Q2": "A", "Q3": "A"}
        p = {"Q1": ["A"], "Q2": ["A"], "Q3": ["B"], "QExtra": ["X"]}

        with self.assertRaises(SystemExit) as context:
            evaluator.calculate_accuracy(qa, p)
        self.assertEqual(context.exception.code,
                         evaluator.EXIT_STATUS_PREDICTIONS_EXTRA)
Ejemplo n.º 4
0
def main():
    print 'Accuracies'
    print 'k\tBinary \tMulticlass'
    for k in range(3,7):
        # 2 class classification
        X_train, y_train = preprocessor.get_binary_train_features(k)
        mlr_model = logisticRegression.perform_binary_logistic_regression(X_train, y_train)

        X_test, y_test = preprocessor.get_binary_test_features(k)
        pred_y = mlr_model.predict(X_test)

        binary_accuracy = evaluator.calculate_accuracy(y_test, pred_y)
        binary_accuracy = round(binary_accuracy, 2)

        #Classification with 3 classes
        X_train, y_train = preprocessor.get_multiclass_train_features(k)
        mlr_model = logisticRegression.perform_multiclass_logistic_regression(X_train, y_train)

        X_test, y_test = preprocessor.get_multiclass_test_features(k)
        pred_y = mlr_model.predict(X_test)

        multiclass_accuracy = evaluator.calculate_accuracy(y_test, pred_y)
        multiclass_accuracy = round(multiclass_accuracy, 2)
        print str(k) + '\t' + str(binary_accuracy) + '     \t' + str(multiclass_accuracy)
    def test_EverythingCorrect(self):
        qa = {"P1": "E", "P2": "N", "P3": "N"}
        p = {"P1": "E", "P2": "N", "P3": "N"}

        self.assertEqual(3.0 / 3.0, evaluator.calculate_accuracy(qa, p))
    def test_MixedResults(self):
        qa = {"P1": "E", "P2": "N", "P3": "N"}
        p = {"P1": "E", "P2": "N", "P3": "E"}

        self.assertEqual(2.0 / 3.0, evaluator.calculate_accuracy(qa, p))
Ejemplo n.º 7
0
    def test_EverythingCorrect(self):
        qa = {"Q1": "A", "Q2": "A", "Q3": "A"}
        p = {"Q1": ["A"], "Q2": ["A"], "Q3": ["A"]}

        self.assertEqual(3.0 / 3.0, evaluator.calculate_accuracy(qa, p))
Ejemplo n.º 8
0
    def test_PartialGuess(self):
        qa = {"Q1": "A", "Q2": "A", "Q3": "A"}
        p = {"Q1": ["A", "B"], "Q2": ["B"], "Q3": ["B"]}

        self.assertEqual(0.5 / 3, evaluator.calculate_accuracy(qa, p))
Ejemplo n.º 9
0
    def test_MixedResults(self):
        qa = {"Q1": "A", "Q2": "A", "Q3": "A"}
        p = {"Q1": ["A"], "Q2": ["A"], "Q3": ["B"]}

        self.assertEqual(2.0 / 3.0, evaluator.calculate_accuracy(qa, p))