开始使用免费开始使用

使用更长的 n-gram

到目前为止,您基于每段文本中的单个词构建了特征。这在机器学习模型中通常很有效,但您可能会担心,只看单个词会忽略大量上下文。为了解决这个问题,建模时可以使用 n-gram,它是将连续的 n 个词组合成的序列。例如:

  • bigrams:由两个相邻词组成的序列
  • trigrams:由三个相邻词组成的序列

在构建数据集时,您可以通过将 ngram_range 参数指定为元组 (n1, n2) 来自动创建这些特征,其中会包含从 n1n2 范围内的所有 n-gram。

本练习是课程的一部分

Python 中的机器学习特征工程

查看课程

练习说明

  • sklearn.feature_extraction.text 导入 CountVectorizer
  • 实例化 CountVectorizer,仅考虑 trigrams。
  • 将向量化器拟合并在一步中应用到 text_clean 列。
  • 打印向量化器生成的特征名。

交互式实操练习

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

# Import CountVectorizer
from sklearn.feature_extraction.text import ____

# Instantiate a trigram vectorizer
cv_trigram_vec = CountVectorizer(max_features=100, 
                                 stop_words='english', 
                                 ____)

# Fit and apply trigram vectorizer
cv_trigram = ____(speech_df['text_clean'])

# Print the trigram features
print(cv_trigram_vec.____)
编辑并运行代码