資料是什麼? data
<說說5分鐘>第8說:資料的型態*資料在機器學習的角色。
前面幾個章節有讓大家理解到機器學習的可能性,現在我們開始來探討inputs的資料型態。
What is data?
Data is a collection of facts, such as numbers, words, measurements, observations or even just descriptions of things.
廣義來說,資料就是任何被記錄下來的東西。包含:數字、文字…等。
我們日常工作、生活中存在的許多資料。大致可以區分為數值型(Numerical)及類別型(Categorical)資料。至於為什麼我們需要理解資料的類型,原因在於不論是資料視覺化、演算法的inputs處理、特徵工程...等,依據不同的資料型態有著不同的處理方式。
數值型(Numerical)
包括連續資料及離散資料,共通特徵為組成是數字。
數值如果均為整數(完整個體)的為離散資料(Discrete),舉例: 小孩數、持有土地數、售價、成本...等。
數值如果是綿延不斷的則是連續資料(Continuous),其中又能細分等距資料(Interval)及等比資料(Ratio)。
等距指標舉例: 年齡、溫度...等,只有距離上的差異,兩個等距指標相除是沒有意義的。50歲與25歲,我們能說兩者相差25歲,但無法說50歲是25歲的兩倍老; 50度與25度,我們無法說50度是25度的兩倍熱。
等比資料舉例:高度、長度、重量...等。除了"加減"有意義外,"乘除"亦有意義。100公分為50公分的兩倍長,200公斤是50公斤的四倍重。
先前我曾經被這個問題困擾者:
Is money a discrete or continuous variable?
$300元 v.s $300.1415926…元Good question. And it depends.
In theoretical models, it can be defined as either. This is up to the creator of the model and will depend on the context of the model and the function money serves within the model.In the real world, money could also be considered both discrete and continuous- you cannot have $ππ in your bank account so therefore in that sense, money is discrete. However in economic studies such as estimating wage returns to education, money is always treated as a continuous variable, and this works well for analysis.
細心的你可能會發現:售價、成本...等同時有出現在連續資料及離散資料中。與公司的資料科學家討論後,覺得當不同unique離散資料過多時,其實可以就視為連續資料,舉例來說:一個電商平台,可能有兩百萬個SKU,代表有著兩百萬種售價,這個時候我們就簡單視售價為連續資料吧。但如果是小孩子數,可能坐落於1~5個之間,這個時候我們在資料描述上,作圖上仍會以離散資料為基礎去思考。
類別型(Categorical)
包括名目資料及次序資料,共通特徵為組成是文字。
如果資料間有次序性則為次序資料(Ordinal),舉例: Grade A> Grade B> Grade C,甲>乙>丙,總經理>副總>處長>經理>副理>主任>打雜PM(至少薪水上有差異...淚)。
如果資料間無次序性則為名目資料(Nominal),舉例: 男/女, 北部/南部/中部/東部, 美/日/台/韓/中...等。我們無法說男生優於女生或女生優於男生,換言之,沒有程度上差異的可視為名目資料。
上面寫了那麼多,可能大家頭昏眼花的。可以試著解答下面問題:
回到python的世界,其實簡單如下:
大致上就分為連續數值(Float), 整數(Int)及文字(String)。後面所有演算法均是找到對應的格式,以這三種值為基礎,進行inputs唷。
我剛開始學習的時候,是抱著亂湊亂用的方式,想辦法把丟入的值能夠讓演算法跑就好。後來發現: 只有真正理解資料型態背後的意義,才能有系統地去發掘資料背後的意涵,作出正確的圖表,找到正確的insight。