Я пытаюсь объединить функции типа dict, используемые в NLTK, и функцию SKLEARN tfidf для каждого экземпляра.Комбинирование текстовых функций NLTK с помощью sklearn Векторизованные функции
Пример ввода: экземпляры = [[ "Я работаю с текстовыми данными"], [ "Это мое второе предложение"]] экземпляр = "Я работаю с текстовыми данными"
def generate_features(instance):
featureset["suffix"]=tokenize(instance)[-1]
featureset["tfidf"]=self.tfidf.transform(instance)
return features
from sklearn.linear_model import LogisticRegressionCV
from nltk.classify.scikitlearn import SklearnClasskifier
self.classifier = SklearnClassifier(LogisticRegressionCV())
self.classifier.train(feature_sets)
Этот tfidf обучается во всех случаях. Но когда я тренирую классификатор nltk с помощью этого набора функций, он выдает следующую ошибку.
self.classifier.train(feature_sets)
File "/Library/Python/2.7/site-packages/nltk/classify/scikitlearn.py", line 115, in train
X = self._vectorizer.fit_transform(X)
File "/Library/Python/2.7/site
packages/sklearn/feature_extraction/dict_vectorizer.py", line 226, in fit_transform
return self._transform(X, fitting=True)
File "/Library/Python/2.7/site-packages/sklearn/feature_extraction/dict_vectorizer.py", line 174, in _transform
values.append(dtype(v))
TypeError: float() argument must be a string or a number
Я понимаю здесь проблему, что она не может векторизовать уже векторизованные функции. Но есть ли способ исправить это?
просьба предоставить образец данных для воспроизведения вашей проблемы –