涉及多个特征时如何处理文本分类问题

How to handle text classification problems when multiple features are involved

我正在处理一个文本分类问题,其中包含多个文本特征并且需要构建一个模型来预测薪资范围。请参考 Sample dataset 大多数 resources/tutorials 只处理一列上的特征提取,然后预测目标。我知道文本预处理、特征提取(CountVectorizer 或 TF-IDF)以及应用算法等过程。

在这个问题中,我有多个输入文本特征。 如何处理涉及多个特征的文本分类问题?这些是我已经尝试过的方法,但我不确定这些方法是否正确。请提供您的 inputs/suggestion.

1) 分别对每个特征应用数据清洗,然后是 TF-IDF,然后是逻辑回归。这里我尝试看看是否可以只使用一个特征进行分类。

2) 分别对所有列应用数据清理,然后对每个特征应用 TF-IDF,然后合并所有特征向量以仅创建一个特征向量。最后是逻辑回归。

3) 分别对所有列应用数据清理,并合并所有清理后的列以创建一个特征 'merged_text'。然后在此 merged_text 上应用 TF-IDF,然后进行逻辑回归。

所有这 3 种方法在交叉验证和测试集上给了我大约 35-40% 的准确率。我期望在未提供的测试集上至少有 60% 的准确率。

此外,我不明白如何使用 'company_name' & 'experience' 和文本数据。 company_name 中大约有 2000 多个唯一值。请提供 input/pointer 如何处理文本分类问题中的数字数据。

试试这些:

  1. 对'job description'、'job designation'和'关键技能应用文本预处理。删除所有停用词,将每个词分开并删除标点符号,将所有词小写然后应用 TF-IDF 或 Count Vectorizer,不要忘记在训练模型之前缩放这些特征。

  2. 将 Experience 转换为 Minimum experience 和 Maximum experience 2 个特征并将其视为离散数字特征。

  3. 可以将公司和位置视为分类特征,并在训练模型之前创建虚拟 variable/one 热编码。

  4. 尝试结合工作类型和关键技能,然后进行矢量化,看看效果如何。

  5. 使用随机森林回归器,调整超参数:n_estimators、max_depth、max_features 使用 GridCV。

希望这些能提高模型的性能。

让我知道这些效果如何。