Я разделил свои данные на части поезда и теста. Моя таблица данных имеет столбец с текстом. Учтите, что у меня есть десять других столбцов, представляющих числовые особенности. Я использовал TfidfVectorizer и данные обучения, чтобы сгенерировать матрицу терминов и комбинировать ее с числовыми функциями для создания кадра данных обучения.
tfidf_vectorizer=TfidfVectorizer(use_idf=True, max_features=5000, max_df=0.95)
tfidf_vectorizer_train = tfidf_vectorizer.fit_transform(X_train['text'].values)
df1_tfidf_train = pd.DataFrame(tfidf_vectorizer_train.toarray(), columns=tfidf_vectorizer.get_feature_names())
df2_train = df_main_ques.iloc[train_index][traffic_metrics]#to collect numerical features
df_combined_train = pd.concat([df1_tfidf_train, df2_train], axis=1)
Чтобы рассчитать оценку tf-idf для тестовой части, мне нужно повторно использовать набор данных тренировки. Я не уверен, как генерировать часть тестовых данных. Связанный пост:
[1] Добавить tfidf к pandas dataframe : обсудить только создание части обучающего набора данных
[2] Как TfidfVectorizer вычисляет оценки на тестовые данные : обсуждаемая часть тестовых данных, но не ясно, как создать тестовый фрейм данных, который содержит как термины, так и числовые функции.