aboutsummaryrefslogtreecommitdiff
path: root/python/feast.py
blob: 4b4ad05dcb88b27ee03f1d4fc9a5c414f5f3bd5f (plain)
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
import numpy as np
from ctypes import * 

def select(data, labels, n_observations, n_features, n_select, method):
  
  selected_features = []

  try:
    libFSToolbox = CDLL("libFSToolbox.so"); 
  except:
    print "Error: could not find libFSToolbox"
    exit()

# JMI(n_features_to_ret, int n_samples, int n_feats, double *featureMatrix, double *classcol, outputFeatures);
  c_output = (c_double * n_select)
  c_n_observations = c_int(n_observations)
  c_n_select = c_int(n_select)
  c_n_features = c_int(n_features)
  c_labels = (c_double * len(labels))(*labels)

  combined_list = [] 
  map(combined_list.extend, data.tolist())
  c_data = (c_double * len(combined_list))(*combined_list)




  # right now just call only JMI, work out the rest later
  libFSToolbox.JMI(c_n_select, c_n_observations, c_n_features, repr(c_data), repr(c_labels), repr(c_output))

  return selected_features