def PolynomialSVMTest(pca_option): import SVM SVM.SVMSimulation(SVM.svm_poly, processing.linear_pca, processing.overall_training_data, pca_option) processing.final_validation = np.array(processing.final_validation) FV_features = [] FV_labels = [] FV_features, FV_labels = processing.createFeatures_Labels( processing.final_validation) FV_features_data = None FV_labels_data = None FV_features_data, FV_labels_data = processing.convertToDataFrame( FV_features, FV_labels, processing.column_titles) global SVM_POLY_final_predictions if(pca_option == 'yes' or pca_option == 'both'): transformed_FV = processing.linear_pca.transform(FV_features_data) final_predictions = SVM.svm_poly.predict(transformed_FV) SVM_GAUS_final_predictions = final_predictions accuracy = metrics.accuracy_score(final_predictions, FV_labels) precision = metrics.precision_score( FV_labels, final_predictions, average='micro') recall = metrics.recall_score( FV_labels, final_predictions, average='micro') print('POLYNOMIAL SVM MODEL FINAL TEST DATA ACCURACY: ', 100 * accuracy) print('POLYNOMIAL SVM MODEL FINAL TEST DATA PRECISION: ', 100 * precision) print('POLYNOMIAL SVM MODEL FINAL TEST DATA RECALL: ', 100 * recall) print() return accuracy, precision, recall else: final_predictions = SVM.svm_poly.predict(FV_features_data) SVM_GAUS_final_predictions = final_predictions accuracy = metrics.accuracy_score(final_predictions, FV_labels) precision = metrics.precision_score( FV_labels, final_predictions, average='micro') recall = metrics.recall_score( FV_labels, final_predictions, average='micro') print('POLYNOMIAL SVM MODEL FINAL TEST DATA ACCURACY: ', 100 * accuracy) print('POLYNOMIAL SVM MODEL FINAL TEST DATA PRECISION: ', 100 * precision) print('POLYNOMIAL SVM MODEL FINAL TEST DATA RECALL: ', 100 * recall) print() return accuracy, precision, recall