#python #arrays #scikit-learn
#python #массивы #scikit-learn
Вопрос:
я выполняю анализ настроений с помощью scikit-learn python, теперь я использую nltk для выполнения лемматизации слов, чтобы увеличить скорость обработки, например:
После обработки nltk я получаю следующие массивы:
array([ ['Really', 'a', 'terrible', 'course', u'lecture', u'be', 'so', 'boring', 'i', u'contemplate', 'suicide', 'on', 'numerous', u'occasion', 'and', 'the', 'tutes', u'go', 'for', 'two', u'hour', 'and', u'be', 'completely'], ['Management', 'accounting', u'require', 'sufficient', 'practice', 'to', 'get', 'a', 'hang', 'of', 'Made', 'easier', 'with', 'a', 'great', 'lecturer']], dtype=object)
но для scklearn требуется, чтобы массив
array([ 'Really a terrible course lectures were so boring i contemplated suicide on numerous occasions and the tutes went for two hours and were completely ', 'Management accounting requires sufficient practice to get a hang of Made easier with a great lecturer '],dtype=object)
итак, каков наилучший способ преобразовать этот массив в правильную форму? Я пытаюсь использовать объединенный список, но результат странный
Ответ №1:
Вы бы сделали:
second_array = [' '.join(each) for each in first_array]
В качестве альтернативы вы можете указать sklearn.CountVectorizer
, чтобы просто использовать свои токены:
vect = CountVectorizer(preprocessor=lambda x: x, tokenizer=lambda x: x)
X = vect.fit_transform(first_array)