NLTK学习笔记——使用叶贝斯分类器性别鉴定

本文介绍了使用Python的NLTK库,通过贝叶斯分类器进行性别鉴定的步骤,包括确定输入特征、划分数据集、构建分类器以及测试分类器效果。在实践中,选择名字的最后一个字母作为特征,最终达到了0.796的测试精度。
摘要由CSDN通过智能技术生成

一 、性别鉴定步骤

根据名字男女规律进行判断

建立分类器

        • 1. 确定输入特征——特征提取器
        • 2. 划分数据集
        • 3. 使用训练集构建分类器
        • 4. 使用测试集测试分类器效果

二、叶贝斯分类器原理

特征:假设选取名字的最后一个字母为主要特征
类别:男性、女性
贝叶斯公式:P(B|A)=P(A|B)*P(B)/P(A)

贝叶斯分类器          

比较P(男性|特征)与P(女性|特征)有如下两种方法
1. 直接比较P(特征|男性)*P(男性)与P(特征|女性)*P(女性)
2. 直接将P(女性|特征)与0.5比较(因为只有两种分类,两个概率加起来为1,所以只要有一方概率大于0.5即可判断)

三、实战代码

from nltk.corpus import names
import nltk
import random

#从数据集中打印出前10个名字
names_set = ([(name, 'male') for name in names.words('male.txt')] +
        [(name, 'female') for name in names.words('female.txt')])
print (names_s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值