- 数据处理
train集合240M+,test集合60M+,并不大直接用pandas读入即可。可以看到数据格式如下,label列是新闻的类别,text列是新闻的字符。二者均为数值型。
可以看成,还需要处理一下分隔符。应该改为:
df_train = pd.read_csv("./data/train_set.csv",sep='\t')
那么接下来,我们应该对数据的分布有所分析。比如文本长度分布,数据类别分布,字符分布情况。
文本长度分布(即句子长度)如下,平均一个句子907个字符,最长57921字,大部分长度在2000以内。
新闻类别分布:可见存在类别分布不均的问题,科技类新闻样本最多,星座类最少。
字符分布:
将所有句子进行拼接然后划分字符,统计每个字符的个数。可以查看出总共6869个字,编号3750的字出现的次数最多,编号3133的字出现最少。
from collections import Counter
all_l = ' '.join(list(df_train['text']))
word_c = Counter(all_l.split(" "))
word_c =sorted(word_c.items(),key=lambda d:d[1], reverse =True)