《Python机器学习及实践:从零开始通往Kaggle竞赛之路》第4章 实战篇 学习笔记(三)4.3IMDB影评得分估计总结

本文是《Python机器学习及实践》书中4.3章节的学习笔记,主要介绍了一个Kaggle竞赛——IMDB影评得分估计。内容包括背景介绍、数据下载、模型搭建(朴素贝叶斯和梯度提升树)以及编程实践中的问题和提交结果。在实验中,使用TfidfVectorizer和朴素贝叶斯模型在Kaggle上取得了最佳性能。
摘要由CSDN通过智能技术生成

目录

4.3IMDB影评得分估计

1、背景

2、下载数据

3、搭建模型

4、编程实践

5、提交结果


4.3IMDB影评得分估计

1、背景

“4.2Titanic罹难乘客预测总结”一节所使用的数据,不论是其形式还是规模都无法与大量现实分析任务涉及的数据相当。因此在本节,如图4-8所示,另选Kaggle上的一项竞赛任务:IMDB影评得分估计。与上节结构化良好的小规模档案数据不同的是,本节的竞赛任务要求参赛者分析电影评论网站的留言,判断每条留言的情感倾向。不仅在规模上要比泰坦尼克号乘客数据大上几个量级,而且原始数据也不及之前的格式化。

2、下载数据

IMDB影评得分估计竞赛任务一共为参赛者提供了4份不同的数据文件,其中包括:已经标有情感倾向的训练文件labeledTrainData.tsv,里面有25000条影评以及对应的情感倾向标识;待测试文件testData.tsv,同样也另有25000条电影评论;还有一份无标注但是数据量更大的影评文件unlabeledTrainData.tsv;最后是一份样例文件sampleSubmission.csv用来告知参赛者最终结果的提交格式。

3、搭建模型

接下来分别采用Scikit-learn中的朴素贝叶斯模型以及隶属于集成模型的梯度提升树分类模型,对电影评论进行文本情感分析。具体而言,在朴素贝叶斯模型中依然使用“词袋法”对每条电影评论进行特征向量化,并且借助CountVectorizer和TfidfVectorizer;另一方面,先利用无标注影评文件中训练词向量,然后将每条电影评论中所有词汇的平均向量作为特征训练梯度提升树分类模型。

4、编程实践

# 代码78:IMDB影评得分估计竞赛编码示例
# 导入pandas用于读取和写入数据操作。
import pandas as pd

# 从本地读入训练与测试数据集。
train = pd.read_csv('../Datasets/IMDB/labeledTrainData.tsv', delimiter='\t')
test = pd.read_csv('../Datasets/IMDB/testData.tsv', delimiter='\t')

# 查验一下前几条训练数据。
train.head()
print(train.head())
# 查验一下前几条测试数据。
test.head()
print(test.head())

# 从bs4导入BeautifulSoup用于整洁原始文本。
from bs4 import BeautifulSoup
# 导入正则表达式工具包。
import re
# 从nltk.corpus里导入停用词列表。
from nltk.corpus import stopwords

# 定义review_to_text函数,完成对原始评论的三项数据预处理任务。


def review_to_text(review, remove_stopwo
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值