Привет! Я запускаю конвейер НЛП, в котором я пытаюсь соответствовать модели, но получаю ошибку. Пожалуйста, проверьте эти LoC и предложите, что я делаю не так.
Я попытался пересэмплировать соскоб и запустить его с 255 символами, и, похоже, это дает результаты. Но когда я пытаюсь запустить его с 15000 символов (фактическая длина очистки), я получаю эту ошибку:
Значение истинности массива с более чем одним элементом неоднозначно. Используйте a.any () или a.all ()
from nltk.tokenize import word_tokenize
alltext = pd.concat([training_set.scrape_text, test_set.scrape_text])
alltext.shape
rows = []
for row in alltext.values:
rows.append(word_tokenize(row))
model = gensim.models.FastText(rows, size=100, window=4, min_count=2, iter=10)
pipeline = Pipeline([
('feats', FeatureUnion([ ("word2vec vectorizer",TfidfEmbeddingVectorizer(model)),
('vec', TfidfVectorizer(preprocessor=preprocessor, tokenizer=word_tokenize,analyzer='word', lowercase=True, strip_accents='unicode', stop_words='english', ngram_range=(1,2)))])),
('voting', VotingClassifier(estimators=[("xgb",XGBClassifier(nthread= 4, learning_rate=0.08, n_estimators=1000, max_depth=10))], voting='soft' ))])
#Loggin time for model fitting
start_time = time.time()
pipeline.fit(training_set.scrape_text.values, y)
print("Time taken for modelling with current pipeline --- %s seconds ---" % (time.time() - start_time))