資料讀取與資料分析
阿新 • • 發佈:2020-07-23
一、資料讀取
import pandas as pd train_df = pd.read_csv('../input/train_set.csv', sep='\t', nrows=100)
二、資料分析
1、長度分析
%pylab inline train_df['text_len'] = train_df['text'].apply(lambda x: len(x.split(' '))) print(train_df['text_len'].describe())
result:
2、字元分佈統計
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)) # 6869 print(word_count[0]) # ('3750', 7482224) print(word_count[-1]) # ('3133', 1)
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])
# ('3750', 197997)
print(word_count[1])
# ('900', 197653)
print(word_count[2])
# ('648', 191975)
三、資料分析的結論
通過上述分析我們可以得出以下結論:
- 賽題中每個新聞包含的字元個數平均為1000個,還有一些新聞字元較長;
- 賽題中新聞類別分佈不均勻,科技類新聞樣本量接近4w,星座類新聞樣本量不到1k;
- 賽題總共包括7000-8000個字元;
通過資料分析,我們還可以得出以下結論:
-
每個新聞平均字元個數較多,可能需要截斷;
-
由於類別不均衡,會嚴重影響模型的精度;
四、結論
待更新。。。