-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdata_preprocessing.py
More file actions
41 lines (35 loc) · 1.63 KB
/
Copy pathdata_preprocessing.py
File metadata and controls
41 lines (35 loc) · 1.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
import torch
import torch.nn as nn
from torch.nn import TransformerEncoder, TransformerEncoderLayer
import torch.optim as optim
from torch import nn, Tensor
import math
from typing import Tuple
from scipy.stats import spearmanr
file_path = 'C:\\Users\\penme\\Downloads\\COINBASE_LTCUSD, D.csv'
BTCdata = pd.read_csv(file_path)
BTCdata.drop('Basis', inplace=True, axis=1)
BTCdata.drop('Upper Bollinger Band', inplace=True, axis=1)
BTCdata.drop('Lower Bollinger Band', inplace=True, axis=1)
BTCdata.drop('Plot', inplace=True, axis=1)
BTCdata.drop('Volume MA', inplace=True, axis=1)
BTCdata.drop('RSI-based MA', inplace=True, axis=1)
BTCdata.drop('Upper', inplace=True, axis=1)
BTCdata.drop('Lower', inplace=True, axis=1)
features = ['open','high','low','close']
BTC_features = BTCdata[features]
scaler = StandardScaler()
scaled_BTCfeatures = scaler.fit_transform(BTC_features)
Xtrain_BTC = np.array(scaled_BTCfeatures)[:round(0.85*len(scaled_BTCfeatures))]
Xtrain_BTC = torch.from_numpy(Xtrain_BTC).to(torch.float32)
Xcval_BTC = np.array(scaled_BTCfeatures)[round(0.85*len(scaled_BTCfeatures)):round(0.90*len(scaled_BTCfeatures))]
Xcval_BTC = torch.from_numpy(Xcval_BTC).to(torch.float32)
Xtest_BTC = np.array(scaled_BTCfeatures)[round(0.90*len(scaled_BTCfeatures)):len(scaled_BTCfeatures)]
Xtest_BTC = torch.from_numpy(Xtest_BTC).to(torch.float32)
Xtotal_BTC = np.array(scaled_BTCfeatures)
Xtotal_BTC = torch.from_numpy(Xtotal_BTC).to(torch.float32)