# Energy Models Package
THIS IS A PACKAGE OF MODELS OF PREDICT IN TIMESERIES FORECASTING
this package helps any developer in univariate and multivariate-multi-step time series forcasting in house-power-consumption dataset lets take a look about each type
Real-world time series forecasting is challenging for a whole host of reasons not limited to problem features such as having multiple input variables,the requirement
to predict multiple time steps,nd the need to a perform the same type of prediction for multiple physical sites.
# Installation
````
pip install EnergyModels
````
# Models list
* LSTM
* LSTM-CNN
* BILSTM
* GRU
* BIGRU
* TimeDistributer
* CNN
* TCN
* Transformer
* Performer
All models take 3 parameters except
* TCN :
* must take value
* 1 : n_steps
* 2 : n_features
* default value = 1
* 3 : n_outputs
**TCN Model you can build it by just give it data to build function**
* Transformer :
* must take value
* 1 : input_shape
* 2 : n_outputs
* 3 : head_size
* 4 : num_heads
* 5 : ff_dim
* 6 : num_transformer_blocks
* 7 : mlp_units
* default value = 0
* 8 , 9 : dropout , mlp_units
* Performer :
* must take value
* 1 : maxlen
* 2 : n_features
* 3 : n_outputs
* 4 : vocab_size
* 5 : embed_dim
* 6 : num_heads
* 7 : ff_dim
* default value:
* 8 : method => 'linear'
* 9 : supports => 10
* 10 : rate => 0.1
# Package Folders
* Data
* Energy_Models
# how to use the package
first you must read the data set you want to use the models on it
and then import preprocess_data from Data folder :
````
from Data import preprocess_data as pr
df = pd.read_csv('Data.txt',sep=';',
parse_dates={'date_time' : ['Date', 'Time']}, infer_datetime_format=True,
low_memory=False, na_values=['nan','?'], index_col='date_time')
pr.fill_missing(df.values)
df.to_csv('new_data.csv')
df = pd.read_csv('new_data.csv',parse_dates=['date_time'], index_col= 'date_time')
````
next step you can use functions on preprocess_data to split and scale the data .
````
X_train, X_test = pr.train_test_split(df)
X_train, X_test, scaler = pr.scale_data(X_train, X_test)
````
After that converting the data to supervised.
now you can build model by import it from Energy_Models folder :
````
from Energy_Models import ==== as m
** [====] refer to model name **
model=m.lstm(21, 7 , 7 ).getModel()
21 ==> n_steps
7 ==> n_features
7==>n_outputs
````
After that you will able to predict and evaluate your models used.
````
y=model.predict(X)
X==>input
````
now you can calculate loss using metrics function for train and test both by just primt_metrix func :
**exists on Evaluation_Metrix if u want to just import it :**
````
from Energy_Models import Evaluation_Metrix as mx
````
````
mx.print_metrics(Y_train,Y_pred_train,Y_test,Y_pred_test)
````