【问题标题】:Generate Test data using TfIdfVectorizer使用 TfIdfVectorizer 生成测试数据
【发布时间】: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


    【解决方案1】:

    您可以使用经过训练的向量器的transform 方法在已训练的向量器上转换您的测试数据。您可以通过

    重用经过训练的矢量化器来生成测试数据集 TF-IDF 分数
    tfidf_vectorizer_test = tfidf_vectorizer.transform(X_test['text'].values)
    

    【讨论】:

      猜你喜欢
      • 2023-03-30
      • 1970-01-01
      • 2019-09-06
      • 1970-01-01
      • 1970-01-01
      • 2016-03-08
      • 2013-10-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多