コード例 #1
0
ファイル: modelling.py プロジェクト: puiyanng/DYCK
def fit_arima(all_data,
              col_name,
              test_lines_num,
              classification,
              ord=[2, 1, 2]):
    data = pd.DataFrame()
    data["Date"] = pd.date_range(start='1/1/1979',
                                 periods=len(all_data),
                                 freq='D')
    data[col_name] = all_data[col_name]
    data = data.set_index('Date')
    model = ARIMA(data[:-test_lines_num], order=(ord[0], ord[1], ord[2]))
    result = model.fit()
    print(result.summary())
    test = data.tail(test_lines_num)
    test["prediction"] = result.forecast(test_lines_num)[0]
    if classification:
        test.to_csv("arima_results.csv")
        return fe.generate_y(test, "prediction")
    return test["prediction"]
コード例 #2
0
data = pd.read_csv("data/DJI_1d_10y_signal.csv")

data = data.drop(["Date"], axis=1)
data = data.ffill(axis=0)
print(data)
xTrain, xTest, yTrain, yTest = fe.ordered_train_test_split(data, "Signal")

results = pd.DataFrame()
results["true_y"] = yTest

ada = md.fit_ada_boost(xTrain, yTrain, True)
results["prediction"] = ada.predict(xTest)
print("Adaboost Classifier")
print(results["prediction"])
print(md.get_results(results["true_y"], fe.generate_y(results, "prediction")))

svm = md.fit_SVM(xTrain, yTrain)
results["prediction"] = svm.predict(xTest)
print("SVM Classifier")
print(md.get_results(results["true_y"], results["prediction"]))
print('Accuracy of the SVM on test set: {:.3f}'.format(svm.score(xTest,
                                                                 yTest)))

knn = md.fit_KNN(xTrain, yTrain, True)
results["prediction"] = knn.predict(xTest)
print("KNN")
print(md.get_results(results["true_y"], results["prediction"]))
print('Accuracy of the KNN on test set: {:.3f}'.format(knn.score(xTest,
                                                                 yTest)))