NLTK之朴素贝叶斯分类器

由于学习需要,最近开始接触NLTK,使用最简单的Naive Bayes Classifier,但是写代码过程中各种错误和不顺,现将其记录于此。

之前并不知道分类器传的是什么参数,于是闷着头瞎写,结果总是报错

TypeError: 'tuple' object does not support item assignment

郁闷了一段时间,终于弄清楚分类器传的参数:

[

({"word1":value1,"word2":value2..."wordn":valuen},label),

({"word1":value1,"word2":value2..."wordn":valuen},label),

...

]

这是一个三层复合结构,首先它是一个list,第二层是一个元组,最里面是一个字典,还不明白?

我们看一个简单的例子。

假设我们有训练数据如下:

("房间太小,台灯古老",-1)

("房间比较宽大,走廊很大",+1)

分词之后我们得到单词集合

["房间",“太小”,“台灯”,“古老”,“比较”,“宽大”,“走廊”,“很大”](手工分词,仅为说明)

我们最后得到的要传的参数如下:

[

({"房间":True,“太小”:True,“台灯”:True,“古老”:True,“比较”:False, “宽大”:False,“走廊”:False,“很大”:False},-1)

({"房间":False,“太小”:False,“台灯”:False,“古老”:False,“比较”:True, “宽大”:True,“走廊”:True,“很大”:True},+1)

]

注意:这里字典的元素是整个语料单词的set元素个数,假如只是传本句训练语料的个数最后准确率只有0.24,而用上述方法NB方法可以达到0.83,至于上面的True和False可以用词频代替,实验效果差别不大。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一个会写诗的程序员的博客

勾股定理·圓周率·無窮級數·微積分勾股定理圓圓周率定义1定义2定义3代数数学分析数论概率论统计学圆的内接正多边形和外接正多边形歐拉公式三角函數分析微積分宇宙運行軌道萬有引力定律電磁場方程相對論量子力學

量子力学理论在20世纪初期诞生,而沃利斯圆周率公式已经存在了数百年,但这两者之间的内在关联直到今天才被发现。

661
来自专栏书山有路勤为径

Landmark Detection & Robot Tracking (SLAM)地标检测与机器人跟踪

我们将在2D网格世界中定位一个机器人。实时定位与地图构建的基础是从机器人的传感器和运动中收集信息,然后使用有关测量和运动的信息来重新构建一个该世界的地图。

512
来自专栏大数据文摘

手把手:Python加密货币价格预测9步走,视频+代码

1615
来自专栏数据结构与算法

洛谷P2158 [SDOI2008]仪仗队

题目描述 作为体育委员,C君负责这次运动会仪仗队的训练。仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线...

30910
来自专栏小樱的经验随笔

CDOJ 1330 柱爷与远古法阵【高斯消元,卡精度】

柱爷与远古法阵 Time Limit: 125/125MS (Java/Others)     Memory Limit: 240000/240000KB (J...

2577
来自专栏崔庆才的专栏

TensorFlow Bi-LSTM实现文本分词

本节我们来尝试使用 TensorFlow 搭建一个双向 LSTM (Bi-LSTM) 深度学习模型来处理序列标注(分词)问题,主要目的是学习 Bi-LSTM 的...

5766
来自专栏kangvcar

[face_recognition中文文档] 第4节 Face Recognition API

1132
来自专栏数据结构与算法

157. [USACO Nov07] 奶牛跨栏

157. [USACO Nov07] 奶牛跨栏 ★★   输入文件:hurdles.in   输出文件:hurdles.out 简单对比 时间限制:1 s   ...

3486
来自专栏海天一树

小朋友学C语言(32):求圆周率

(一)圆周率简介 圆周率(Pi)是圆的周长与直径的比值,一般用希腊字母π表示,是一个在数学及物理学中普遍存在的数学常数。π也等于圆形之面积与半径平方之比。是精确...

2955
来自专栏小樱的经验随笔

Codeforces 626D Jerry's Protest(暴力枚举+概率)

D. Jerry's Protest time limit per test:2 seconds memory limit per test:256 megab...

2858

扫码关注云+社区