手把手教你在Python 中实现文本分类(附代码、数

据集)

引言

文本分类是商业问题中常见的自然语言处理任务,目标是自动将文本文件分到一个

或多个已定义好的类别中。文本分类的一些例子如下:

• 分析社交媒体中的大众情感

• 鉴别垃圾邮件和非垃圾邮件

• 自动标注客户问询

• 将新闻文章按主题分类

目录

本文将详细介绍文本分类问题并用Python 实现这个过程:

文本分类是有监督学习的一个例子,它使用包含文本文档和标签的数据集来训练一

个分类器。端到端的文本分类训练主要由三个部分组成:

1. 准备数据集:第一步是准备数据集,包括加载数据集和执行基本预处理,然后

把数据集分为训练集和验证集。

特征工程:第二步是特征工程,将原始数据集被转换为用于训练机器学习模型的平

坦特征(flat features),并从现有数据特征创建新的特征。

2. 模型训练:最后一步是建模,利用标注数据集训练机器学习模型。

3. 进一步提高分类器性能:本文还将讨论用不同的方法来提高文本分类器的性

能。

注意:本文不深入讲述NLP 任务,如果你想先复习下基础知识,可以通过这篇文章

/blog/2017/01/ultimate-guide-to-understand-

implement-natural-language-processing-codes-in-python/

准备好你的机器

先安装基本组件,创建Python 的文本分类框架。首先导入所有所需的库。如果你

没有安装这些库,可以通过以下官方链接来安装它们。

• Pandas:/pandas-docs/stable/install.html

• Scikit-learn:/stable/install.html

• XGBoost:http://xgboost.readthedocs.io/en/latest/build.html

• TextBlob:http://textblob.readthedocs.io/en/dev/install.html

• Keras:https://keras.io/#installation

#导入数据集预处理、特征工程和模型训练所需的库

from sklearn import model_selection, preprocessing, linear_model, naive_bayes,

metrics, svm

from sklearn.feature_extraction.text import TfidfVectorizer, CountVectorizer

from sklearn import decomposition, ensemble

import pandas, xgboost, numpy, textblob, string

from keras.preprocessing import text, sequence

from keras import layers, models, optimizers

一、准备数据集

在本文中,我使用亚马逊的评论数据集,它可以从这个链接下载:

/kunalj101/ad1d9c58d338e20d09ff26bcc06c4235

这个数据集包含3.6M 的文本评论内容及其标签,我们只使用其中一小部分数据。

首先,将下载的数据加载到包含两个列(文本和标签)的pandas 的数据结构

(dataframe)中。

数据集链接:

/drive/folders/0Bz8a_Dbh9Qhbfll6bVpmNUtUcFdjYmF2SEpmZUZ

UcVNiMUw1TWN6RDV3a0JHT3kxLVhVR2M

#加载数据集

data = open('data/corpus').read()

labels, texts = [], []

for i, line in enumerate(data.split("\n")):

content = line.split()

labels.append(content[0])

texts.append(content[1])

#创建一个dataframe,列名为text 和label

trainDF = pandas.DataFrame()

trainDF['text'] = texts

trainDF['label'] = labels

接下来,我们将数据集分为训练集和验证集,这样我们可以训练和测试分类器。另

外,我们将编码我们的目标列,以便它可以在机器学习

python文本分类_手把手教你在Python中实现文本分类.pdf相关推荐

  1. 怎么用python自制计算公式_手把手教你用python制作简易计算器,能够记录你使用的情况...

    话不多说,首先先看效果图,它能够记录你在使用过程中的历史,方便你查看是否有错: 接下来就仔细分析一下是如何制作的: 简易计算器 第一步:导入资源库 在过程中使用到了tkinter这个资源库,win+R ...

  2. python 靶心_手把手教你使用Python实战反欺诈模型|原理+代码

    原标题:手把手教你使用Python实战反欺诈模型|原理+代码 作者 | 萝卜 来源 | 早起Python(ID: zaoqi-python) 本文将基于不平衡数据,使用Python进行 反欺诈模型数据 ...

  3. 用python画皇冠_手把手教你用 Python 绘制酷炫的桑基图!

    原标题:手把手教你用 Python 绘制酷炫的桑基图! 作者 | 周志鹏 责编 | 郭 芮 最近,不止一次收到小伙伴的截图追问: "这个图叫什么???" "这个图真好看! ...

  4. 利用python编写祝福_手把手|教你用Python换个姿势,送狗年祝福语

    春节既是一个阖家团圆的节日,也是一个集中问候亲朋好友.了解近况的机会.但是也有很多人过年也不能聚在一起,所以就会会选择发短信这一方式来表达自己的祝福.其中大多人都是复制转发,让人一眼就看穿,显得自己在 ...

  5. 如何用python开发游戏_手把手教你用Python完成一个控制台小游戏-阿里云开发者社区...

    很多人想学Python程序设计或者已经了解过一点Python程序设计基础,却没办法开发出一个项目. 今天,通过演示一个简单的控制台小游戏制作,手把手教你如何用Python编写一个游戏程序,即便你是个新 ...

  6. python广州地图_手把手教你用Python+可视化工具制作漂亮地图

    作者:J哥 这次呢,我想讲讲地图可视化的内容,以前我也写过用Python的内置库绘制地图,但总感觉不够美观.如何才能在短时间内制作漂亮的可视化地图呢,我觉得Python+可视化工具是不错的选择. 以下 ...

  7. python画图宽度_手把手教你用 Python 绘制酷炫的桑基图!

    作者 | 周志鹏 责编 | 郭   芮 最近,不止一次收到小伙伴的截图追问: "这个图叫什么???" "这个图真好看!!!怎么画啊?" ...... 笔者本没有 ...

  8. python私人定制_手把手教你学python第十五讲(魔法方法续私人“定制”)

    python无处不对象的深刻理解 前面写了这么多,我觉得有必要从一个大的层面,也就是OO来看问题的本质.只要你调用对象的语法是合乎python的习惯的,那就是可以的,我们以前从来没有像下面这么写过,对 ...

  9. python 金融分析代码_手把手教你以python为工具进行量化金融分析

    量化交易是指借助现代统计学和数学的方法,利用计算机技术进行投资交易的方式. 对于从未接触过量化的人来说,想要了解量化到底是做什么的,关键掌握四部份的内容:Python基础知识.金融知识.技术指标.量化 ...

最新文章

  1. 商汤IPO首日市值涨百亿,徐立感慨时代之幸:有机会改变世界!
  2. API通常的url语法
  3. 西南民族大学计算机考试试题,西南民族大学预科教育学院 2007级《计算机》模拟试题(含答案)...
  4. Android实现图片的高效批量加载
  5. Magnet for mac(窗口布局辅助工具)
  6. 【Git/Github学习笔记】Git常用命令(代码拉取)
  7. php如何判断日期是否是周末(星期六和星期天)
  8. 校招行测笔试--资料分析
  9. Win10下的Hp1020P打印机。
  10. 无线摄像头接有线如何改协议_WiFi中继器——让无线传输更简单
  11. cefsharp 二次开发
  12. matlab 日期加小时数_将EXCEL 中的日期 时间 导入到MATLAB坐标轴中
  13. 麻省理工学院公开课:计算机科学及编程导论
  14. 通信算法之九:4FSK调制解调仿真链路
  15. ACSII,GB2312,GBK,GB18030,Unicode,UTF8,UTF16,UTF32,BOM区别与转换——字符编码最全总结
  16. 一个用于网络摄像机的开源软件 --- mjpg-streamer
  17. 手写简易java消息队列
  18. Laravel 第十章 API测试和文档
  19. 基于javaweb+jsp的在线点餐系统(java+SSM+jsp+mysql+maven)
  20. td自动换行时不切断英文单词

热门文章

  1. 微信保存图片提示失败_微信公众号多图文素材编辑完成保存失败该怎么解决?...
  2. 推荐一个很不错的android开源播放器XLPlayer
  3. 计算机二级msoffice高级应用教程,二级MSOFFICE高级应用_二级MSOFFICE高级应用教程_二级MSOFFICE高级应用视频教程 _课课家...
  4. CListCtrl类不能响应HDN_ITMECLICK消息?
  5. Dreamweaver安装教程
  6. 7种方法治疗宝宝流鼻涕
  7. C++(Qt)软件调试---linux下生成/调试Core文件(3)
  8. 不知如何选股?不知哪种指标策略可靠?量化分析比较BBI、MTM、OBV、CCI、PRICEOSC指标策略收益情况
  9. 已解决:Ubuntu22.04全盘加密及自动解密
  10. 【数据分析与可视化】天猫直通车的部分指标解析