我应该重新调整 tfidf 功能吗?

数据挖掘 nlp 特征工程 特征缩放 tfidf
2021-09-16 01:46:32

我有一个包含文本和数字特征的数据集。

我已经使用 sklearn 的 TfidfVectorizer 对文本进行了编码。

我现在想对结果数据框应用逻辑回归。

我的问题是数字特征与 tfidf 产生的特征不同。

我不确定是否要:

  • 在传递给分类器之前,使用 StandardScaler 缩放整个数据帧;

  • 仅缩放数字特征,并保留由 tfidf 产生的特征。

1个回答

最被接受的想法是词袋、Tf-Idf 和其他转换应该保持原样。

据一些人说:分类变量的标准化可能不是自然的Tf-Idf 的标准化也不是,因为根据stats stack exchange

(it's) (...) 通常是双重归一化。

首先,每个文档都被标准化为长度 1,因此对于更长或更短的文档没有偏差。这等于采用相对频率而不是绝对术语计数。这是“TF”。

其次,IDF 是一种跨文档归一化,通过使用逆语料库频率对每个词进行归一化(加权),对常用词赋予较少权重,而对稀有词赋予更多权重。

Tf-Idf 旨在以其原始形式在算法中使用。如果算法需要标准化或数据太小,其他数值是可以标准化的。其他选项可以使用抵抗不同范围和分布的算法,例如基于树的模型或简单地使用正则化,这实际上取决于交叉验证结果。

但是像词袋、tf-idf 或其他 nlp 转换这样的分类特征应该单独保留以获得更好的结果。

但是,还有一种想法是将 one-hot 编码变量标准化为可以作为与其他数据集相同的标准步骤来完成的事情。它是由统计领域的一位杰出人物提出的。

https://stats.stackexchange.com/a/120600/90513