-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfeatures.py
51 lines (43 loc) · 1.52 KB
/
features.py
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
42
43
44
45
46
47
48
49
50
51
#!/usr/bin/env python
import sys
import pickle
import algorithms
import visualizer
import numpy as np
from sklearn.manifold import TSNE
from sklearn.manifold import LocallyLinearEmbedding as LLE
from sklearn.decomposition import PCA
from sklearn.decomposition import FastICA
def doICA(data):
ica = FastICA(n_components=12)
ica_data = ica.fit_transform(data)
return ica_data
def doPCA(data):
pca = PCA(n_components=12)
pca_data = pca.fit_transform(data)
return pca_data
def doLLE(data):
lle = LLE(n_components=12)
lle_data = lle.fit_transform(data)
return lle_data
def doTSNE(data):
tsne_data = TSNE(n_components=3).fit_transform(data)
return tsne_data
def doTog(data):
ret = np.zeros((data.shape[0], data.shape[1]+2))
for i in range(len(data)):
var = data[i]
var = np.append(data[i], data[i][6]*data[i][7]) #DA Energy, Congestion coefficients
var2 = np.append(var, data[i][10]*data[i][11]) #RT Energy, Congestion coefficients
ret[i] = var2
return ret
def doSep(data):
ret = np.zeros((data.shape[0], data.shape[1]+4))
for i in range(len(data)):
var = data[i]
var = np.append(data[i], data[i][6]*data[i][10]) #DA Energy, RT Energy coefficients
var2 = np.append(var, data[i][7]*data[i][11]) #DA Congestion, RT Congestion coefficients
var3 = np.append(var2, data[i][8]*data[i][12]) #marginal loss component
var4 = np.append(var3, data[i][5]*data[i][9]) #locational marginal price
ret[i] = var4
return ret