有一个任务是使用 ngram 对男性和女性的名字进行分类。所以,有一个像这样的数据框:
name is_male
Dorian 1
Jerzy 1
Deane 1
Doti 0
Betteann 0
Donella 0
具体要求是使用
from nltk.util import ngrams
对于这个任务,创建 ngrams (n=2,3,4)
我列出了一个名字,然后使用了 ngram:
from nltk.util import ngrams
from sklearn.feature_extraction.text import CountVectorizer
count_vect = CountVectorizer()
test_ngrams = []
for name in name_list:
test_ngrams.append(list(ngrams(name,3)))
现在我需要以某种方式将所有这些向量化以用于分类,我尝试
X_train = count_vect.fit_transform(test_ngrams)
收到:
AttributeError: 'list' object has no attribute 'lower'
我知道这里的列表是错误的输入类型,有人可以解释一下我应该怎么做,所以我以后可以使用 MultinomialNB,例如。我这样做是对的吗?提前致谢!