第六章 文本分类

def 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')])

用男名和女名生成names列表


featuresets = [(gender_features(n), g) for (n,g) in names]

将names根据尾字母生成特征集

train_set, test_set = featuresets[500:], featuresets[:500]

生成训练集和测试集

classifier = nltk.NaiveBayesClassifier.train(train_set)

使用朴素贝叶斯分类器

classifier.classify(gender_features('huangcongying‘))

用分类器进行测试

nltk.classify.accuracy(classifier, test_set)

用测试集生成准确率

classifier.show_most_informative_features(5)

检查分类器,展示最有用的5个特征


train_names = names[1500:]

devtest_names = names[500:1500]

test_names = names[:500]

训练集用于训练模型,开发测试集用于进行错误分析,测试集用于系统的最终评估。

train_set = [(gender_features(n), g) for (n,g) in train_names]

devtest_set = [(gender_features(n), g) for (n,g) in devtest_names]

test_set = [(gender_features(n), g) for (n,g) in test_names]

classifier = nltk.NaiveBayesClassifier.train(train_set)

nltk.classify.accuracy(classifier, devtest_set)

设立训练集、开发测试集和测试集的特征集合,并计算准准确率


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值