def __init__(self, y, x): assert len(y) == len(x) self.prob = prob = svmc.svm_problem() self.size = size = len(y) self.y_array = y_array = svmc.new_double(size) for i in range(size): svmc.double_setitem(y_array, i, y[i]) self.x_matrix = x_matrix = svmc.svm_node_matrix(size) data = [None for i in range(size)] maxlen = 0 for i in range(size): x_i = x[i] lx_i = len(x_i) data[i] = d = seq_to_svm_node(x_i) svmc.svm_node_matrix_set(x_matrix, i, d) if isinstance(x_i, dict): if (lx_i > 0): maxlen = max(maxlen, max(x_i.keys())) else: maxlen = max(maxlen, lx_i) # bind to instance self.data = data self.maxlen = maxlen prob.l = size prob.y = y_array prob.x = x_matrix
def __init__(self, y, x): assert len(y) == len(x) self.prob = prob = svmc.svm_problem() self.size = size = len(y) self.y_array = y_array = svmc.new_double(size) for i in xrange(size): svmc.double_setitem(y_array, i, y[i]) self.x_matrix = x_matrix = svmc.svm_node_matrix(size) data = [None for i in xrange(size)] maxlen = 0 for i in xrange(size): x_i = x[i] lx_i = len(x_i) data[i] = d = seq_to_svm_node(x_i) svmc.svm_node_matrix_set(x_matrix, i, d) if isinstance(x_i, dict): if (lx_i > 0): maxlen = max(maxlen, max(x_i.keys())) else: maxlen = max(maxlen, lx_i) # bind to instance self.data = data self.maxlen = maxlen prob.l = size prob.y = y_array prob.x = x_matrix
def double_array(seq): size = len(seq) array = svmc.new_double(size) for i, item in enumerate(seq): svmc.double_setitem(array, i, item) return array