开始使用免费开始使用

限制特征数量

如您所见,使用默认设置的 CountVectorizer 会为语料库中的每个单词创建一个特征。这可能会产生过多特征,其中很多对分析几乎没有价值。

为此,CountVectorizer 提供了可用于减少特征数量的参数:

  • min_df:仅使用出现在超过该百分比文档中的词。这可用于移除在不同文本间无法泛化的离群词。
  • max_df:仅使用出现在低于该百分比文档中的词。这有助于去除像 "and" 或 "the" 这类在几乎每个语料中都会出现但不增加价值的高频词。

本练习是课程的一部分

Python 中的机器学习特征工程

查看课程

练习说明

  • 通过设置单词出现的最小文档占比为 20%,最大占比为 80%,来限制 CountVectorizer 的特征数量。
  • 在一步中对 text_clean 列拟合并应用向量化器。
  • 将变换后的(稀疏)数组转换为包含计数的 numpy 数组。
  • 打印这个降维后新数组的形状。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Import CountVectorizer
from sklearn.feature_extraction.text import CountVectorizer

# Specify arguements to limit the number of features generated
cv = ____

# Fit, transform, and convert into array
cv_transformed = ____(speech_df['text_clean'])
cv_array = ____

# Print the array shape
print(____)
编辑并运行代码