2012-02-15 8 views

Odpowiedz

1

Moduł svmlight-loader może załadować plik svmlight do tablicy numpy. Nie sądzę, że cokolwiek istnieje w innym kierunku, ale moduł jest prawdopodobnie dobrym punktem wyjścia do rozszerzenia jego funkcjonalności.

5

Napisałem ten całkowicie niezoptymalizowany skrypt jakiś czas temu, może to pomoże! Dane i etykiety muszą znajdować się w dwóch oddzielnych tablicach 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)