零基础入门NLP赛事-Task2数据读取与数据分析

学习目标

	·学习使用Pandas读取赛题数据 
	·分析赛题数据的分布规律

1.数据读取

	import pandas as pd
	train_df = pd.read_csv('./train_set.csv',sep='\t',nrows=100)
	train_df.head(15)

使用pandas库中的read_csv函数读取文本数据,.head(15)输出前15行。在这里插入图片描述
第一列:新闻类别 第二列:新闻的字符

2.句子长度分析
在读取完成数据集后,我们还可以对数据集进行数据分析的操作。虽然对于非结构数据并不需要做很多的数据分析,但通过数据分析还是可以找出一些规律的。

  • 2.1句子长度分析
#句子长度分析,使用空格进行分割开,通过统计单词个数来统计句子长度
%pylab inline 
train_df['text_len'] = train_df['text'].apply(lambda x: len(x.split(' ')))
print(train_df['text_len'].describe())

对读取到的100行文本数据进行统计,每行平均有872个字符组成,最长的行有7125个字符,最短的行有64个字符。在这里插入图片描述
将句子长度分布画到直方图。

# 绘制直方图
import matplotlib.pyplot as plt 
_=plt.hist(train_df['text_len'],bins=200)
plt.xlabel('Text char cout')
plt.title("Histogram of char count")

在这里插入图片描述

  • 2.2 新闻类别分布
#新闻类别分布
train_df['label'].value_counts().plot(kind='bar')
plt.title('News class count')
plt.xlabel('category')

在这里插入图片描述
在数据集中标签的对应的关系如下:{‘科技’: 0, ‘股票’: 1, ‘体育’: 2, ‘娱乐’: 3, ‘时政’: 4, ‘社会’: 5, ‘教育’: 6, ‘财经’: 7, ‘家居’: 8, ‘游戏’: 9, ‘房产’: 10, ‘时尚’: 11, ‘彩票’: 12, ‘星座’: 13}

  • 2.3 字符分布统计
#字符分布统计 
from collections import Counter
all_lines = ' '.join(list(train_df['text']))
word_count = Counter(all_lines.split(" "))
word_count = sorted(word_count.items(), key=lambda d:d[1], reverse = True)
print(len(word_count))
print(word_count[0])
print(word_count[-1])

在这里插入图片描述
统计结果,一共有2405个字符,字符3750出现的次数最高有3702次,字符5034出现的频率最低只有1次。

  • 2.4 统计字符在句中出现的频率
#统计字符在句中出现的频率 
from collections import Counter
train_df['text_unique'] = train_df['text'].apply(lambda x:' '.join(list(set(x.split(' ')))))
all_lines=' '.join(list(train_df['text_unique']))
word_count=Counter(all_lines.split(" "))
word_count=sorted(word_count.items(),key=lambda d:int(d[1]),reverse = True)
print(word_count[0])
print(word_count[1])
print(word_count[2])

字符900、3750出现的频率达到99%,字符648出现的频率96%在这里插入图片描述
3.总结

  • 3.1每个新闻平均字符个数较多,可能需要截断;
  • 3.2由于类别不均衡,会严重影响模型的精度~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值