在第一篇赛题理解中已经进行了数据读取,接下来直接进行数据分析。
目前能想到的问题有三个:
- 文本长度是多少?
- 字符分布情况?
- 类别分布情况?
接下来针对三个问题进行分析。
一、句子长度分析
%pylab inline
train_df['text_len'] = train_df['text'].apply(lambda x: len(x.split(' ')))
print(train_df['text_len'].describe())
Populating the interactive namespace from numpy and matplotlib
count 100.000000
mean 872.320000
std 923.138191
min 64.000000
25% 359.500000
50% 598.000000
75% 1058.000000
max 7125.000000
Name: text_len, dtype: float64
从上表可知,mean为均值,长度大概在900左右
_ = plt.hist(train_df['text_len'], bins=200)
plt.xlabel('Text char count')
plt.title("Histogram of char count")
通过直方图可以发现,句子长度普遍不大于2000.
二、字符分布情况
先将训练集中所有的句子进行拼接进而划分为字符,并统计每个字符的个数。
from collections import Counter
all_lines = ' '.join(list(train_df[