Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pandas as pd
- import numpy as np
- import matplotlib.pyplot as plt
- import torch
- import torch.nn as nn
- import torch.nn.functional as F
- import torch.optim as optim
- from sklearn.metrics import accuracy_score
- from torch.autograd import Variable
- from datetime import datetime
- # %% Data
- skips.append(list(range(70465, 77016)))
- data_raw = pd.read_excel('Fruedal.xlsx', skiprows = list(range(1,9096)))
- data_raw = data_raw[0:61368]
- leak = pd.read_excel('Fruedal.xlsx', sheet_name='Leak')
- #%%
- M = data_raw.shape[0]
- LogTime = list()
- LogLeak = list()
- for i in range(M):
- list.append(LogTime, datetime.strptime(data_raw['LogDate'][i], "%Y-%m-%d %H:%M:%S.%f"))
- if data_raw['LogDate'][i] in set(leak['LogDate']):
- list.append(LogLeak, 1)
- else:
- list.append(LogLeak, 0)
- data_raw['LogTime'] = LogTime
- data_raw['LogLeak'] = LogLeak
- last_hour = datetime.time(data_raw['LogTime'][5])
- data = list()
- leaks = list()
- log = list()
- for i in range(M):
- if datetime.time(data_raw['LogTime'][i]) <= last_hour:
- list.append(data, data_raw[440][i])
- list.append(leaks, data_raw['LogLeak'][i])
- list.append(log, data_raw['LogDate'][i])
- data = np.asarray(data)
- leaks = np.asarray(leaks)
- log = np.asarray(log)
- num_days = 7
- N = data.shape[0]
- num_inputs = int(N/6-(num_days-1)*6)
- inputs = np.zeros((num_inputs, num_days*6))
- targets = np.zeros(num_inputs)
- logDate = list()
- for i in range(num_inputs):
- inputs[i] = data[i*6:num_days*6+i*6]
- targets[i] = int(np.max(leaks[num_days*6+i*6-6:num_days*6+i*6]))
- list.append(logDate, log[num_days*6+i*6-1])
- logDate = np.asarray(logDate)
- t = 0.6
- s = (1-t)/2
- x_train = inputs[:int(num_inputs*t)]
- y_train = targets[:int(num_inputs*t)].reshape(-1,1)
- x_val = inputs[int(num_inputs*t):int(num_inputs*(t+s))]
- y_val = targets[int(num_inputs*t):int(num_inputs*(t+s))].reshape(-1,1)
- x_test = inputs[int(num_inputs*(t+s)):]
- y_test = targets[int(num_inputs*(t+s)):].reshape(-1,1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement