iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 4
0
AI & Data

特徵工程 in 30 days系列 第 5

[瞭解資料特徵]Part2-定量與定性資料B

以Titanic dataset為例判斷定量與定性資料

什麼是Titanic dataset?

Titanic dataset是資料科學競賽平台Kaggle上的一開放資料集,幾乎所有的機器學習入門者都會用這個資料集開始探索機器學習的世界。資料內容是titanic上的乘客資料。
以下為各欄位的名稱及代表意義:

欄位名稱 定義
survival 存歿
pclass 購票分級
sex 性別
Age 年紀
sibsp 鐵達尼號上的兄弟姊妹/配偶數量
parch 鐵達尼號上的雙親/子女數量
ticket 票根號碼
fare 票價
cabin 船艙編號
embarked 登船港口

我將以Python、Jupyter notebook、Pandas做此資料的一覽。

初探資料

首先以pandas.read_csv函式,打開包含資料的csv檔案。

#讀取鐵達尼號的乘客資料
data = pd.read_csv('input/train.csv')

資料讀取完畢以後,data此變數指向的是一Dataframe的資料表物件,以Dataframe.head()函式可以顯示資料表內前五筆紀錄,讓我們快速的瀏覽資料表部分的內容。

#顯示前五筆資料
data.head()

https://ithelp.ithome.com.tw/upload/images/20181007/20111826HLw6awu3pV.jpg

以Dataframe.info()函式可以顯示資料表內所有欄位的資訊。包含:欄位名稱、非虛值的數目、欄位的資料類型等等。

#查看資料欄位資訊
data.info()

https://ithelp.ithome.com.tw/upload/images/20181007/201118269PaI6ThaFJ.jpg

從data.info()所顯示的結果,我們可以看到欄位的類型有int64、float64、object等等類型,是否我們就能夠以欄位資料類型是數字來判斷該欄位是定量資料呢?

定性資料也會用數字來表現

以下以資料表中的PassengerId、Survived、Pclass等三個欄位為例,此三個欄位的資料類型都是INT64,數字的資料常會被認為就是定量資料,但其實不然,數字有時也被用以描述類別,回顧前一篇文章介紹到的:判斷定量資料的方法為視其是否有計量單位。

  • PassengerId欄位表示乘客的序號,序號並不是計量單位。
  • Survived欄位代表乘客存歿。實際值僅有0或1,以0代表死亡、以1代表存活,不是計量單位而是分類。
  • Pclass代表購票人的等級,不是計量單位而是分類。

由上例可見,此三欄位都屬於定性資料,足可見並非所有以數字表現的資料都是定量,而應該由欄位的本質做判斷。因此我們可以看到此資料表中僅有Fare\SibSp\Parch\Age等四個欄位符合有計量單位的條件,因此除此兩個欄位為定量資料以外其他都是定性資料。

考慮資料的本質

定量資料因為其有計量單位的本質,所以可以比較大小,也可以用來進行四則算術運算。但是對於使用數字表示的定性資料,並沒有這樣的意義。試想本資料集中的Survived欄位,以0代表死亡以1代表存活,兩個只能用相同與否來區分,而討論『存活與死亡誰比較大』,或者『存活與死亡的和是多少』等問題是沒有意義的。因此判斷資料時應思考資料的本質以及合理性。


上一篇
[瞭解資料特徵]Part2-定量與定性資料A
下一篇
[瞭解資料特徵]Part3-資料的四個尺度-A
系列文
特徵工程 in 30 days23
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言