数据分析学习总结笔记17:文本分析入门案例实战

本文介绍了Python进行文本分析的基本流程,包括数据准备、分词、统计词频、绘制词云、提取TF-IDF特征,并用sklearn进行训练。使用jieba进行分词,通过wordcloud生成词云,利用TF-IDF进行特征提取,并以SVM为例展示了模型训练过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 数据准备

数据样例如下, 数据总量为7.7万+:
在这里插入图片描述
本节通过一个实战的例子来展示文本分析的最简单流程。首先设定因变量为原始数据中的"评分"。自变量是"评价内容",这里根据评价内容提取TF-IDF特征。之后,通过评价内容的特征建模预测下整体评分

import jieba #导入分词模块
import pandas as pd # 导入Pandas模块

# 1. 导入数据
comments_df = pd.read_excel("https://github.com/xiangyuchang/xiangyuchang.github.io/blob/master/BearData/comment_nm.xlsx?raw=true") #读入数据
print('数据的维度是:', comments_df.shape)
comments_df.head() #查看数据的前5行

# 2. 清洗数据, 删除空的数据
def clean_sents(txt):
    txt = str(txt) if txt is not None else ""
    if len(txt) == 0:
        return None
    else:
        return txt
        
comments_df2["评价内容"] = comments_df2["评价内容"].apply(clean_sents)
comments_df2 = comments_df2[comments_df2["评价内容"] != "nan"]
len(comments_df2)

# 运行结果
# 58117

以上只是最基本的数据清洗(删除缺失值), 这里不再赘述。过滤后, 样本量为5.8W+条, 减少2.2万+。

2 分词

文本分析的第一步是分词。常用中文包是jieba: https://github.com/fxsjy/jieba.
在这里插入图片描述
再次声明, 本书为平滑学习曲线, 仅对最重要的函数进行调用和说明, 在实际中不够用时请自行翻阅对应的官方文档。成熟的开源库基本都有完善的文档, 即学即用即可。

# 引入停用词文本,请在如下网址下载:https://github.com/zhiyiZeng/cluebearpython/blob/master/chapter8/data/stopwords.txt

stopwords_file = "stopwords.txt"
with open(os.path.join(path, stopwords_file), "r", encoding="utf8") as f:
    stopwords_list = [word.strip() for word in f
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值