Wie verwende ich String-Kernel in scikit-learn?
Ich versuche, einen String-Kernel zu generieren, der einen Support-Vektor-Klassifikator versorgt. Ich habe es mit einer Funktion versucht, die den Kernel berechnet, so etwas wie das
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
Und wenn ich es als Parameter an SVC übergebe, erhalte ich
clf = svm.SVC(kernel = my_kernel)
clf.fit(data, target)
ValueError: could not convert string to float: photography
wobei meine Daten eine Liste von Zeichenfolgen sind und das Ziel die entsprechende Klasse ist, zu der diese Zeichenfolge gehört. Ich habe einige Fragen zu diesem Problem in stackoverflow überprüft, aber ich denke, dass eine Bag-of-words-Darstellung für diesen Fall nicht geeignet ist.