我已经将我的数据分成了训练部分和测试部分。我的数据表有一个'text‘列。考虑一下,我还有另外十列表示数字特征。我已经使用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:仅讨论创建训练数据集部分
2:讨论了测试数据部分,但不清楚如何生成同时包含术语和数字特征的测试数据框架。
发布于 2020-04-10 10:35:17
您可以使用训练向量器的transform方法在已经训练好的向量器上转换测试数据。您可以重用经过训练的矢量器来生成测试数据集TF-IDF分数,方法是
tfidf_vectorizer_test = tfidf_vectorizer.transform(X_test['text'].values)https://stackoverflow.com/questions/61130312
复制相似问题