Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- import pandas as pd
- import matplotlib.pyplot as plt
- from IPython.display import display
- from sklearn.linear_model import ElasticNetCV
- # read the data
- data = pd.read_csv('biggestmerchang.csv', parse_dates=['day'])
- t = data['day']
- y = data['activation']
- test_size=0.2
- # create features in new dataframe
- X = pd.DataFrame()
- X['daysbef0'] = y.shift(0)
- X['daysbef5'] = y.shift(5)X['lag 10'] = y.shift(10)
- X['daysbef10'] = y.shift(11)
- X['t'] = (t - t.min())/(t.max() - t.min())
- X['rollingmean3'] = y.rolling(3).mean()
- X['rollingmean6'] = y.rolling(6).mean()
- X['rollingmean12'] = y.rolling(12).mean()
- train = X[:-test_size]
- test = X[-test_size:]
- estimator = ElasticNetCV(n_alphas=100, l1_ratio=0.9, cv=5, random_state=123)
- estimator.fit(X.loc[train, :], y[train])
- test_score = estimator.score(X.loc[test, :], y[test])
Add Comment
Please, Sign In to add comment