Un modo per esportare un array python in formato light SVM?programma python per esportare numpy/liste in formato svmlight
5
A
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)
5
C'è uno in scikit-learn:
http://scikit-learn.org/stable/modules/generated/sklearn.datasets.dump_svmlight_file.html
E 'piuttosto semplice, ma funziona sia per gli array e matrici NumPy scipy.sparse.