In [1]:
## imports,
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

import models.imports.features

sns.set()

In [2]:
## load in features df.

trainsf_ = r'../data/text/bitcoin/train_set.csv'
train_set = models.imports.features.import_file(trainsf_)
train_set_x, train_set_y = models.imports.features.scale_and_transform_into_datasets(train_set)

In [3]:
from sklearn.linear_model import LassoCV

In [4]:
model = LassoCV(fit_intercept=True, alphas=np.linspace(.0001, 5, 1000), cv=5, max_iter=5000)
model.fit(train_set_x.values, train_set_y.values.ravel())


Out[4]:
LassoCV(alphas=array([1.0000e-04, 5.1049e-03, ..., 4.9950e+00, 5.0000e+00]),
    copy_X=True, cv=5, eps=0.001, fit_intercept=True, max_iter=5000,
    n_alphas=100, n_jobs=1, normalize=False, positive=False,
    precompute='auto', random_state=None, selection='cyclic', tol=0.0001,
    verbose=False)

In [5]:
prediction = model.predict(train_set_x)

mse = models.imports.features.mse(train_set_y.values, prediction)
print('mse:', mse)


mse: 0.0679975176114272

In [6]:
plt.plot(prediction, 'ro', markersize=1)
plt.plot(train_set_y, 'b', alpha=.3)
plt.show()



In [7]:
## test,

testsf_ = r'../data/text/bitcoin/test_set.csv'
test_set = models.imports.features.import_file(testsf_)
test_set_x, test_set_y = models.imports.features.scale_and_transform_into_datasets(test_set)

In [8]:
## mean squared error,

test_prediction = model.predict(test_set_x)
mse_test = models.imports.features.mse(test_set_y.values, test_prediction)
print('mse:', mse_test)


mse: 0.07085337294706202

In [9]:
plt.plot(model.predict(test_set_x), 'ro', markersize=1)
plt.plot(test_set_y, 'b', alpha=.3)
plt.show()



In [ ]: