2012-02-15 18 views

Respuesta

1

El módulo svmlight-loader puede cargar un archivo svmlight en una matriz numpy. No creo que exista nada en la otra dirección, pero el módulo es probablemente un buen punto de partida para ampliar su funcionalidad.

5

Escribí este script totalmente no optimizado hace un tiempo, ¡tal vez pueda ayudar! Los datos y las etiquetas deben estar en dos matrices numpy separadas.

def save_svmlight_data(data, labels, data_filename, data_folder = ''): 
    file = open(data_folder+data_filename,'w') 

    for i,x in enumerate(data): 
     indexes = x.nonzero()[0] 
     values = x[indexes] 

     label = '%i'%(labels[i]) 
     pairs = ['%i:%f'%(indexes[i]+1,values[i]) for i in xrange(len(indexes))] 

     sep_line = [label] 
     sep_line.extend(pairs) 
     sep_line.append('\n') 

     line = ' '.join(sep_line) 

     file.write(line) 
Cuestiones relacionadas