基于LSTM的中文文本多分类实战(详细注释)

使用深度学习中的LSTM(Long Short-Term Memory)长短期记忆网络,来尝试一下中文文本多分类,LSTM它是一种时间循环神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。

数据集

ChineseNlpCorpus的online_shopping_10_cats
10 个类别,共 6 万多条评论数据,正、负向评论各约 3 万条,包括书籍、平板、手机、水果、洗发水、热水器、蒙牛、衣服、计算机、酒店

代码

本人没有怎么使用过pandas,注释可能会比较啰嗦

查看数据

import pandas as pd
df = pd.read_csv('文件路径')#将逗号分隔值(csv)文件读取到DataFrame中
df=df[['cat','review']] #id为该评论所属类别 review为评论具体内容
print("数据总量: %d ." % len(df))
df.sample(10)#对数据集进行抽样查看

在这里插入图片描述
查看并清洗空值

print("在 cat 列中总共有 %d 个空值." % df['cat'].isnull().sum())#查看cat列的空值
print("在 review 列中总共有 %d 个空值." % df['review'].isnull().sum())
df[df.isnull().values==True]#isnull返回一个布尔数组
df = df[pd.notnull(df['review'])]#保留非null的review

查看数据分布

前言:DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表。类似于matlab的矩阵,但是matlab的矩阵只能放数值型值(当然matlab也可以用cell存放多类型数据),DataFrame的单元格可以存放数值、字符串等,这和excel表很像。同时DataFrame可以设置列名columns与行名index,可以通过像matlab一样通过位置获取数据也可以通过列名和行名定位

d = {
   'cat':df['cat'].value_counts().index, 'count': df['cat'].value_counts()}#使用字典方法创建dataframe
df_cat = pd.DataFrame(data=d).reset_index
  • 11
    点赞
  • 102
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值