def computeCrossValidation(self):
        from sklearn.model_selection import cross_validate

        X, y = ClassificationModel.preprocessDataCrossValidation(
            self.args, True)
        classifier = LogisticRegression.computeModel(X, y, self.args.solver)

        cv_results = cross_validate(classifier,
                                    X,
                                    y,
                                    cv=self.args.k_fold_cross_validation)

        if (self.args.print_accuracy):
            print(cv_results)

        return cv_results


if __name__ == "__main__":
    parser = ArgumentParser()
    parser.setBasicArguments()
    parser.setLogisticRegressionArguments()
    args = parser.getArguments()

    model = LogisticRegression(args)

    if (args.cross_validation == False):
        model.compute()
    else:
        model.computeCrossValidation()