network = LSTMs(lstm_conf)
if lstm_conf['use_previous_model']:
    network.load(lstm_conf['load_file_name'])
else:
    network.train(train_x, train_y)
    network.save(lstm_conf['save_file_name'])

# step 5: Predict
train_pred = network.predict(train_x)
test_pred = network.predict(test_x)

# step 6: Evaluate
evaluator = Evaluator()

# method1
train_acc = evaluator.evaluate_trend(y_true=train_y, y_pred=train_pred)
print('train=', train_acc)
test_acc = evaluator.evaluate_trend(y_true=test_y, y_pred=test_pred)
print('test=', test_acc)

# method 2
acc_train_list = evaluator.evaluate_divided_trend(train_y, train_pred)
acc_test_list = evaluator.evaluate_divided_trend(test_y, test_pred)
print('train=', acc_train_list)
print('test=', acc_test_list)

# method 3
train_acc = evaluator.evaluate_trend_simple(train_y, train_pred)
print('train=', train_acc)
test_acc = evaluator.evaluate_trend_simple(test_y, test_pred)
print('test=', test_acc)
    clf.fit(train_x, train_y)
    clf.save_model('xgboost.m')
else:
    clf.load_model('xgboost.m')

train_pred = clf.predict(train_x)
test_pred = clf.predict(test_x)

show_feature_importance(clf, conf['feature_name'])
# plot_scatter(test_y, test_pred)
plot_classification(test_y, test_pred)

evaluator = Evaluator()

print('evaluate trend')
acc = evaluator.evaluate_trend(train_y, train_pred)
print(acc)
acc = evaluator.evaluate_trend(test_y, test_pred)
print(acc)

print('evaluate trend without stay')
acc = evaluator.evaluate_trend_2(train_y, train_pred)
print(acc)
acc = evaluator.evaluate_trend_2(test_y, test_pred)
print(acc)

print('simple evaluate')
acc = evaluator.evaluate_trend_simple(train_y, train_pred)
print(acc)
acc = evaluator.evaluate_trend_simple(test_y, test_pred)
print(acc)
Esempio n. 3
0
# step 5: Predict
train_pred = network.predict(train_x)
test_pred = network.predict(test_x)

# step 6: Evaluate
evaluator = Evaluator()

train_y = one_hot_decode(batch_labelize_prob_vector(train_y))
train_pred = one_hot_decode(batch_labelize_prob_vector(train_pred))
test_y = one_hot_decode(batch_labelize_prob_vector(test_y))
test_pred = one_hot_decode(batch_labelize_prob_vector(test_pred))
# plot_scatter(test_y, test_pred)

# method 1
print('evaluate trend')
total_acc, stay_acc, rise_dec_acc = evaluator.evaluate_trend(y_true=train_y,
                                                             y_pred=train_pred)
print(total_acc, stay_acc, rise_dec_acc)
total_acc, stay_acc, rise_dec_acc = evaluator.evaluate_trend(y_true=test_y,
                                                             y_pred=test_pred)
print(total_acc, stay_acc, rise_dec_acc)

# method 2
print('evaluate trend without stay')
acc = evaluator.evaluate_trend_with_delay(y_true=train_y, y_pred=train_pred)
print(acc)
acc = evaluator.evaluate_trend_with_delay(y_true=test_y, y_pred=test_pred)
print(acc)

# method 3
print('simple evaluation')
acc = evaluator.evaluate_trend_simple(y_true=train_y, y_pred=train_pred)