16Python文本数据分析:新闻分类任务 (贝叶斯算法应用实例)

本文介绍了使用Python进行文本数据分析的流程,包括新闻分类任务,涉及数据清洗、TF-IDF关键词提取和LDA主题模型。通过贝叶斯算法,对新闻内容进行分类,提供了一整套实战步骤和案例。
摘要由CSDN通过智能技术生成

唐宇迪《python数据分析与机器学习实战》学习笔记
16Python文本数据分析:新闻分类任务 (贝叶斯算法应用实例)
**

一、流程分析

**
数据如下图:content为主体内容,
在这里插入图片描述
1.1 停用词:在语料中大量出现又没啥大用,会干扰统计分析,因此去掉。(例如:一个、一切、¥、#等),网上搜索停用词表,匹配过滤。
1.2 Tf-idf:关键词提取
在这里插入图片描述
这里修改一下:词频=(某个词在文章出现次数)/(文章总的词汇量)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.3 相似度
在这里插入图片描述
在这里插入图片描述
1.4 总结大致流程:语料—清洗(停用词)—分词—构造向量(词频转为向量;词转为向量word2vector、Gensim;整篇文章转为向量不切实)
**

二、案例实战

1、文本的分析操作

1.1 数据采集及导入
**
首先安装jieba模块,本来打开cmd中输入: pip install jieba 就行,但是我这里报错:Could not find a version that satisfies the requirement skimage (from versions: ) ,这是网络原因,需要使用国内豆瓣的镜像加速。
这里改为: pip install jieba -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com 成功安装。
接着导入库:

import pandas as pd
import jieba

数据的话使用搜狗实验室的数据,数据源:http://www.sogou.com/labs/resource/ca.php,需要提取里面的数据。
这里直接用现成数据。

df_news = pd.read_table('./data/val.txt',names=['category','theme','URL','content'],encoding='utf-8')
df_news = df_news.dropna()
df_news.head()

在这里插入图片描述

1.2 转换为list

content = df_news.content.values.tolist() 
#结巴分词器,需要把数据的列拿出来再转换list
content[1000]

‘阿里巴巴集团昨日宣布,将在集团管理层面设立首席数据官岗位(Chief\u3000Data\u3000Officer),阿里巴巴B2B公司CEO陆兆禧将会出任上述职务,向集团CEO马云直接汇报。>菹ぃ和6月初的首席风险官职务任命相同,首席数据官亦为阿里巴巴集团在完成与雅虎股权谈判,推进“one\u3000company”目标后,在集团决策层面新增的管理岗位。0⒗锛团昨日表示,“变成一家真正意义上的数据公司”已是战略共识。记者刘夏’

1.3 分词:使用结巴分词器

content_S = [] #存待会分词后的结果
for line in content:  #遍历二维list
    current_segment = jieba.lcut(line) #把这句话分词
    if len(current_segment) > 1 and current_segment != '\r\n':
        #确实有分词,而且不包含换行符
        content_S.append(current_segment)
content_S[1000]

在这里插入图片描述
1.4 转换dataframe格式

df_content = pd.DataFrame({'content_S':content_S})
df_content.head()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值