本章主要內容為資料讀取和資料分析,具體使用pandas庫完成資料讀取操作,並對賽題資料進行分析構成。
賽題資料雖然是文字資料,每個新聞是不定長的,但任然使用csv格式進行儲存。因此可以直接用pandas完成資料讀取的操作。
在賽題資料中每行句子的字元使用空格進行隔開,所以可以直接統計單詞的個數來得到每個句子的長度。統計並如下:
專案value
count
200000.000000
mean
907.207110
std996.029036
min2.000000
25%374.000000
50%676.000000
75%1131.000000
max57921.000000
接下來可以統計每個字元出現的次數,首先可以將訓練集中所有的句子進行拼接進而劃分為字元,並統計每個字元的個數。
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
)
通過上述分析我們可以得出以下結論:
賽題中每個新聞包含的字元個數平均為1000個,還有一些新聞字元較長;
賽題中新聞類別分布不均勻,科技類新聞樣本量接近4w,星座類新聞樣本量不到1k;
賽題總共包括7000-8000個字元;
通過資料分析,我們還可以得出以下結論:
每個新聞平均字元個數較多,可能需要截斷;
由於類別不均衡,會嚴重影響模型的精度;
資料分析讀取資料pandas
首先安裝完numpy之後就可以安裝pandas了 pip insert pandas 下面是簡單的用法可讀取任何檔案資料報括資料庫 import pandas as pd 通常用pd作為pandas的別名 s pd.series 1,2,3 index a b c 建立乙個序列s d pd.data...
Task2 資料讀取與資料分析
先用pandas讀取資料 train df pd.read csv data train set.csv sep t train df.head label為新聞類別,text為之後的文章內容。讀取資料後計算每條新聞的文字長度。用plt庫繪製直方圖。1 假設字元3750,字元900和字元648是句子...
Task 2 資料讀取與資料分析
import pandas as pd import numpy as np import matplotlib.pyplot as plt train df train df pd.read csv d a train set1.csv sep t nrows 100 train df.head引...