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()
Beispiel #3
0
                                                  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("============================")
Beispiel #4
0
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)
Beispiel #5
0
                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])