一、监督式分类:建立在训练语料基础上的分类

训练过程中,特征提取器将输入转化为特征集,并且记录对应的正确分类。生成模型。预测过程中,未见过的输入被转换特征集,通过模型产生预测标签。

特征提取器和朴素贝叶斯分类器

特征提取器返回字典,这个字典被称为特征集。然后利用
nltk自带的朴素贝叶斯分类器 NaiveBayesClassifier 生成分类器。并且可以用nltk.classify.accuracy(分类器,测试集) 测试准确度。

import nltkfrom nltk.corpus import namesimport randomdef gender_features(word): #特征提取器
    return {'last_letter':word[-1]} #特征集就是最后一个字母names = [(name,'male') for name in names.words('male.txt')]+[(name,'female') for name in names.words('female.txt')]
random.shuffle(names)#将序列打乱features = [(gender_features(n),g) for (n,g) in names]#返回对应的特征和标签train,test = features[500:],features[:500] #训练集和测试集classifier = nltk.NaiveBayesClassifier.train(train) #生