コード例 #1
0
# Split Data
X_train, X_valid, Y_train, Y_valid = train_test_split(X_train_valid, train_valid_labels, shuffle=True, stratify=train_valid_labels, random_state=42)
#X_train, X_valid, Y_train, Y_valid = train_test_split(X_train_valid, Y_train_valid, shuffle=True, stratify=Y_train_valid, random_state=42)


#%% Model Training
from models.naive_gru import NaiveGRU

mymodel = NaiveGRU(X_train.shape[1:])
mymodel.batch_size = PARAM_BATCH_SIZE
mymodel.num_epochs = PARAM_NUM_EPOCHS
mymodel.initialize()
print(mymodel)

#%% Save Model Summary
mymodel.save_summary(dataset.get_recorded_operations())
mymodel.save_config()

#%% Train Model
mymodel.train(X_train, Y_train, X_valid, Y_valid)

#%% Model Evaluation
from utils.evaluation import get_evaluation_metrics, get_confusion_matrix
#Evaluate Model
# Test Score
test_score = tuple(mymodel.evaluate(X_test, Y_test))
print("Test Loss: %.3f, Test Acc: %.3f%%" % (test_score[0], test_score[1] * 100))

# Recall, Precision, F1_Score on Validation set
Y_predicted_valid = mymodel.predict_classes(X_valid, verbose=1)
rpf = get_evaluation_metrics(Y_valid, Y_predicted_valid)