программа python для экспорта numpy/lists в формате svmlight

Есть ли способ экспортировать массив python в легкий формат SVM?


person tomas    schedule 15.02.2012    source источник


Ответы (3)


Один из них есть в scikit-learn:

http://scikit-learn.org/stable/modules/generated/sklearn.datasets.dump_svmlight_file.html

Это просто, но работает как для массивов numpy, так и для матриц scipy.sparse.

person ogrisel    schedule 16.02.2012

Я написал этот совершенно неоптимизированный скрипт некоторое время назад, может быть, он может помочь! Данные и метки должны быть в двух отдельных массивах 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)
person levesque    schedule 16.02.2012

Модуль svmlight-loader может загружать файл svmlight в пустой массив. Я не думаю, что что-то существует для другого направления, но модуль, вероятно, является хорошей отправной точкой для расширения его функциональности.

person jterrace    schedule 15.02.2012