2012-02-15 9 views

risposta

1

Il modulo svmlight-loader può caricare un file svmlight in una matrice numpy. Non penso che esista qualcosa per l'altra direzione, ma il modulo è probabilmente un buon punto di partenza per estendere la sua funzionalità.

5

Ho scritto questo script totalmente non ottimizzato qualche tempo fa, forse può essere d'aiuto! I dati e le etichette devono essere in due distinti array numpy.

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) 
Problemi correlati