一、监督式分类:建立在训练语料基础上的分类
训练过程中,特征提取器将输入转化为特征集,并且记录对应的正确分类。生成模型。预测过程中,未见过的输入被转换特征集,通过模型产生预测标签。
特征提取器和朴素贝叶斯分类器
特征提取器返回字典,这个字典被称为特征集。然后利用
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) #生