【发布时间】:2020-07-22 14:43:19
【问题描述】:
我已将数据分成训练和测试部分。我的数据表有一个“文本”列。考虑一下我还有十列代表数字特征。我已经使用 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]Append tfidf to pandas dataframe:只讨论创建训练数据集部分
[2]How does TfidfVectorizer compute scores on test data:讨论了测试数据部分,但不清楚如何生成包含术语和数值特征的测试数据框。
【问题讨论】:
标签: python scikit-learn tfidfvectorizer