首页 > 解决方案 > 如何在两列上使用 sklearn TfidfVectorizer fit_transform

问题描述

不确定这是否是在这两列上应用 fit_transform 的正确方法。目前正在编写一个分类器来预测欺诈性职位发布。我对“描述”和“要求”列感兴趣。我不知道是否有办法在同一行中进行两种转换。

preprocessor = TfidfVectorizer(stop_words='english', strip_accents='unicode', norm='l2', use_idf=False,smooth_idf=False)
XX = preprocessor.fit_transform(X["description"])
XX = preprocessor.fit_transform(X["requirements"])

标签: pythonscikit-learn

解决方案


我认为您误解了文档。如果你想在两列上做 tfidf,那么你需要通过两个转换器。像这样的东西:

tfidf_1 = TfidfVectorizer(min_df=0)
tfidf_2 = TfidfVectorizer(min_df=0)
clmn = ColumnTransformer([("tfidf_1", tfidf_1, "a"), 
                          ("tfidf_2", tfidf_2, "b")
                         ],
                         remainder="passthrough")

推荐阅读