Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pandas as pd
- import numpy as np
- from sklearn.model_selection import train_test_split
- from sklearn.linear_model import LinearRegression
- from sklearn.metrics import mean_absolute_error
- data = pd.read_csv('/datasets/energy_consumption.csv', index_col=[0], parse_dates=[0])
- data.sort_index(inplace=True)
- data = data.resample('1D').sum()
- def make_features(data, max_lag, rolling_mean_size):
- data['year'] = data.index.year
- data['month'] = data.index.month
- data['day'] = data.index.day
- data['dayofweek'] = data.index.dayofweek
- for lag in range(1, max_lag + 1):
- data['lag_{}'.format(lag)] = data['PJME_MW'].shift(lag)
- data['rolling_mean'] = data['PJME_MW'].shift().rolling(rolling_mean_size).mean()
- make_features(data, 5, 20)
- train, test = train_test_split(data, shuffle=False, test_size=0.2)
- train = train.dropna()
- # < напишите код здесь >
- # < обучите модель >
- model = LinearRegression().fit(train.drop('PJME_MW', axis=1), train['PJME_MW'])
- # < напишите код здесь >
- pred_train = model.predict(train.drop('PJME_MW', axis=1))
- pred_test = model.predict(test.drop('PJME_MW', axis=1))
- print("MAE обучающей выборки:", mean_absolute_error(train['PJME_MW'], pred_train))
- print("MAE тестовой выборки: ", mean_absolute_error(test['PJME_MW'], pred_test))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement