X = X_input.reshape((147,50)) #X_norm = feature_normalize(X_input).reshape((294,25)) #X = X_norm ''' class_names = ['man','hand','eye'] X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.3) svm_model_linear = SVC(kernel = 'rbf', C = 1).fit(X_train, y_train) svm_predictions = svm_model_linear.predict(X_test) accuracy = svm_model_linear.score(X_test, y_test) cm = confusion_matrix(y_test, svm_predictions) matrix_plot.plot_confusion_matrix(y_test, svm_predictions, classes=class_names, title='Confusion matrix, without normalization') matrix_plot.plot_confusion_matrix(y_test, svm_predictions, classes=class_names, normalize=True, title='confusion matrix of svm model generated from combined data of session 1 and session 2') plt.show() print("Results: ", svm_predictions) print("True Values: ", y_test) print("accuracy: ", accuracy*100)
# summarize history for accuracy plt.plot(history.history['acc']) plt.plot(history.history['val_acc']) plt.title('CNN Accuracy on Augmented Data') plt.ylabel('Accuracy') plt.xlabel('Epoch') plt.legend(['Train', 'Test'], loc='upper left') plt.show() # summarize history for loss plt.plot(history.history['loss']) plt.plot(history.history['val_loss']) plt.title('CNN Accuracy on Augmented Data') plt.ylabel('Loss') plt.xlabel('Epoch') plt.legend(['Train', 'Test'], loc='upper left') plt.show() y_predict = model.predict_classes(x_test) for i in range(y_predict.shape[0]): print("predicted Y: ", y_predict[i], " expected Y: ", np.argmax(y_test[i])) class_names = ['eye', 'man', 'hand'] matrix_plot.plot_confusion_matrix( np.argmax(y_test, axis=1), y_predict, classes=class_names, normalize=True, title='CNN Confusion Matrix on Augmented Data') plt.show()
test_size=0.2, random_state=4) x_test, x_dev, y_test, y_dev = train_test_split(x_val, y_val, test_size=0.5, random_state=4) dtree_model = DecisionTreeClassifier(max_depth=6).fit(x_train, y_train) dtree_predictions = dtree_model.predict(x_test) cm = confusion_matrix(y_test, dtree_predictions) # Plot normalized confusion matrix matrix_plot.plot_confusion_matrix( y_test, dtree_predictions, classes=class_names, normalize=True, title='Decision Tree Confusion Matrix on Original Data') plt.show() count = 0 for i in range(y_test.shape[0]): if y_test[i] == dtree_predictions[i]: count += 1 print("Train Count: ", y_train.shape) print("============================") print("Test Count: ", y_test.shape) print("============================") print("Results: ", dtree_predictions) print("============================")
class_names = [0, 1, 2] X_train, X_test, y_train, y_test = train_test_split(X, Y) svm_model_linear = SVC(kernel='rbf', C=1).fit(X_train, y_train) svm_predictions = svm_model_linear.predict(X_test) accuracy = svm_model_linear.score(X_test, y_test) cm = confusion_matrix(y_test, svm_predictions) # Plot non-normalized confusion matrix matrix_plot.plot_confusion_matrix( y_test, svm_predictions, classes=class_names, title='Confusion matrix, without normalization') # Plot normalized confusion matrix matrix_plot.plot_confusion_matrix( y_test, svm_predictions, classes=class_names, normalize=True, title='confusion matrix of svm model generated from session 1 data') plt.show() print("Train Count: ", y_train.shape) print("============================") print("Test Count: ", y_test.shape)
sentence, label = line.split(".") label = label.strip().lower() detection = pass_act_detect(sentence) if detection: y_pred.append("P") else: y_pred.append("A") # false means active if label == "(passive)": y_true.append("P") elif label == "(active)": y_true.append("A") # false means active else: print("something went wrong") print("prediction completed, generating confusion matrix") cnf_matrix = confusion_matrix(y_true, y_pred) np.set_printoptions(precision=2) plt.figure() plot_confusion_matrix(cnf_matrix, classes=["Active", "Passive"], title='Confusion matrix, without normalization') plt.figure() plot_confusion_matrix(cnf_matrix, classes=["Active", "Passive"], N=True, title='Normalized confusion matrix') plt.show()
x_test, x_dev, y_test, y_dev = train_test_split(x_val, y_val, test_size=0.5, random_state=4) svm_model_linear = SVC(kernel='rbf', C=1).fit(x_train, y_train) svm_predictions = svm_model_linear.predict(x_test) accuracy = svm_model_linear.score(x_test, y_test) cm = confusion_matrix(y_test, svm_predictions) matrix_plot.plot_confusion_matrix( y_test, svm_predictions, classes=class_names, normalize=True, title='SVM Confusion Matrix on Augmented Data') plt.show() print("Train Count: ", y_train.shape) print("============================") print("Test Count: ", y_test.shape) print("============================") print("Results: ", svm_predictions) print("============================") print("True Values: ", y_test) print("============================") print("accuracy: ", accuracy * 100) print("============================")
Y[50:] = Y[50:]*2 ''' class_names = ['man', 'hand', 'eye'] X_train, X_test, y_train, y_test = train_test_split(X, Y) dtree_model = DecisionTreeClassifier(max_depth=4).fit(X_train, y_train) dtree_predictions = dtree_model.predict(X_test) cm = confusion_matrix(y_test, dtree_predictions) # Plot normalized confusion matrix matrix_plot.plot_confusion_matrix(y_test, dtree_predictions, classes=class_names, normalize=True, title='Decision Tree From Session 1 Data') plt.show() count = 0 for i in range(y_test.shape[0]): if y_test[i] == dtree_predictions[i]: #print(dtree_predictions[i]) #print(y_test[i]) count += 1 #print(count) #print(count) #print(y_test.shape[0])