def _convert_to_svm_node_array(x): """ convert a sequence or mapping to an svm_node array """ import operator # Find non zero elements iter_range = [] if type(x) == dict: for k, v in x.items(): # all zeros kept due to the precomputed kernel; no good solution yet # if v != 0: iter_range.append(k) elif isinstance(x, collections.abc.Sequence): for j in range(len(x)): # if x[j] != 0: iter_range.append(j) else: raise TypeError("data must be a mapping or a sequence") iter_range.sort() data = svmc.svm_node_array(len(iter_range) + 1) svmc.svm_node_array_set(data, len(iter_range), -1, 0) j = 0 for k in iter_range: svmc.svm_node_array_set(data, j, k, x[k]) j = j + 1 return data
def _convert_to_svm_node_array(x): """ convert a sequence or mapping to an svm_node array """ import operator # Find non zero elements iter_range = [] if type(x) == dict: for k, v in x.iteritems(): # all zeros kept due to the precomputed kernel; no good solution yet # if v != 0: iter_range.append( k ) elif operator.isSequenceType(x): for j in range(len(x)): # if x[j] != 0: iter_range.append( j ) else: raise TypeError,"data must be a mapping or a sequence" iter_range.sort() data = svmc.svm_node_array(len(iter_range)+1) svmc.svm_node_array_set(data,len(iter_range),-1,0) j = 0 for k in iter_range: svmc.svm_node_array_set(data,j,k,x[k]) j = j + 1 return data
def _convert_to_svm_node_array(x): """ convert a sequence or mapping to an svm_node array """ import operator # Find non zero elements iter_range = [] if type(x) == dict: for k, v in x.iteritems(): if v != 0: iter_range.append( k ) elif operator.isSequenceType(x): for j in range(len(x)): if x[j] != 0: iter_range.append( j ) else: raise TypeError,"data must be a mapping or a sequence" iter_range.sort() data = svmc.svm_node_array(len(iter_range)+1) svmc.svm_node_array_set(data,len(iter_range),-1,0) j = 0 for k in iter_range: svmc.svm_node_array_set(data,j,k,x[k]) j = j + 1 return data
def _convert_to_svm_node_array(x): """ convert a sequence or mapping to an svm_node array """ data = svmc.svm_node_array(len(x) + 1) svmc.svm_node_array_set(data, len(x), -1, 0) import operator if type(x) == type({}): keys = x.keys() keys.sort() j = 0 for k in keys: svmc.svm_node_array_set(data, j, k, x[k]) j = j + 1 elif operator.isSequenceType(x): for j in range(len(x)): svmc.svm_node_array_set(data, j, j + 1, x[j]) else: raise TypeError, "data must be a mapping or a sequence" return data
def _convert_to_svm_node_array(x): """ convert a sequence or mapping to an svm_node array """ data = svmc.svm_node_array(len(x)+1) svmc.svm_node_array_set(data,len(x),-1,0) import operator if type(x) == type({}): keys = x.keys() keys.sort() j = 0 for k in keys: svmc.svm_node_array_set(data,j,k,x[k]) j = j + 1 elif operator.isSequenceType(x): for j in range(len(x)): svmc.svm_node_array_set(data,j,j+1,x[j]) else: raise TypeError,"data must be a mapping or a sequence" return data