Как использовать строковые ядра в scikit-learn?
Я пытаюсь сгенерировать ядро строки, которое поддерживает классификатор векторов поддержки. Я попробовал это с функцией, которая вычисляет ядро, что-то вроде этого
def stringkernel(K, G):
for a in range(len(K)):
for b in range(len(G)):
R[a][b] = scipy.exp(editdistance(K[a] , G[b]) ** 2)
return R
И когда я передаю его в SVC в качестве параметра, я получаю
clf = svm.SVC(kernel = my_kernel)
clf.fit(data, target)
ValueError: could not convert string to float: photography
где мои данные - это список строк, а цель - соответствующий класс, к которому принадлежит эта строка. Я рассмотрел некоторые вопросы в stackoverflow относительно этой проблемы, но я думаю, что представление Bag-of-word не подходит для этого случая.