限制特征数量
如您所见,使用默认设置的 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(____)