Posts

Showing posts from January, 2017

You Jump, I Jump? (上)

Image
筆者最近脫離苦海,工作生活總算變得好平衡一點,於是無聊逛逛 Kaggle.com ,看看有什麼最新的數據分析的比賽進行中, 我左看右看上看下看,每一個的比賽都不簡單(歌聲) ,直到我看到Titanic...... 我就停下來,心裡在想當年鐡達尼也有數據嗎?Come On James,原來真的是有的,好吧,我投降了。再仔細看看,原來這個比賽的目的是想讓初學者學習和應用Machine Learning的技術,所以比賽的結束時間才會截至2020年,嚴格來說這算不上是比賽,不過也沒有所謂了,反正我是因為主題而衝著來的,相信大家都知道鐡達尼下沉的故事,由於那次的意外實在太震撼,後來也拍成一部電影,從來沒有看過的朋友不用擔心,谷阿莫會用5分鐘的時間,讓你清楚來龍去脈,科科。 Source: YouTube (主頻道【谷阿莫】) 首先我們有兩組數據(Data Source:  https://www.kaggle.com/c/titanic  /  https://www.encyclopedia-titanica.org /),一組是已知生死的乘客的資料,主要用來訓練模型的數據,另外一組是生死未卜的乘客資料 (不包括船員,船長) ,那現在要幹嗎了?沒錯,這次研究的目的有兩部分:(1) 用數據來描繪出當時的情況,(2)估計在這次事件中當時的乘客能否存活。為避免文章太冗長,現在這篇文章只包含上半部分的分析,下半部分則在另一篇文章繼續討論。 可能你沒有想過我們能透過電腦,便可以達到這個目的。站在Machine Learning的角度看,這是一個分類(Classification)的問題,從已知的數據學習,並對新的數據推算某乘客能夠存活(Survived)或者是不幸逝世(Not Survived)。我們先了解和分析一下當時的環境和存活的因素,好讓我們做一個更準的模型。 乘客們來自? 當時乘坐鐡達尼號的乘客有1309人,其25%是坐頭等艙,其餘21%和54%分別在二等和三等艙。 船上大部分也是男性(843人),而女性只有466人,年齡層的分佈(如下圖)大多是21-30的成年人,有20%的乘客年齡為不詳。 誰更喜歡和親人共享天倫之樂? 大多數人都是沒有親友或者伴侶陪同之下上船的,筆者好奇觀察一下他們的年齡,...

報表範本 - Excel函數與樞紐分析表

Image
相信各位Excel的用家們,也聽過或者經常用的Pivot table(樞紐分析表),事實上,pivot table能夠讓用家快速建立一個新的報表,有一個清楚易用的介面,而且還有已定義好的Format,非常適合初學者學習,但是Pivot table真的可以一招走天下嗎?真的是萬能嗎?如果Pivot table真的萬能的話,我想Excel formula裡的SUMIF, COUNTIF大概會被淘汰了。 筆者有時候,尤其在工作上會看到一些用家會濫用了Pivot table,明明用了Pivot table還把它Copy and Paste to Values,這不但為整個流程增多了一個步驟,以及自動化的開發過程的複雜性,還會減低整個流程的穏定性。因此,在這文章中我會跟大家探討一下,當我們製作Summary應該用什麼方法最能滿足自己的需求和達到目的。 我們首先會談談使用Pivot Table的優勢,然後再談如何制作Excel模版。制作Pivot Table的步驟很簡單,首先在選擇用作分析的原始數據,然後拖曳所需的欄位去直行/橫行或者加總位置,需要時亦可加過濾資料欄位。制作數據的總結報表比只用Excel formula明顯方便得多。用家可以靈活地選擇任何欄位制作成適用的報表。Pivot table 還可以將數據歸納成加總, 平均值, 最大值, 最小值 或者百分比(%)。正因為Pivot Table使用起來實在太方便,不熟悉Excel公式的用家會更喜歡Pivot tabe制作報表。 當然Pivot Table也不是無敵的,如果舊有的數據曾經被修改過,用家需要按一下"更新"的按鈕來讓Pivot Table知道需要在其選取範圍內,根據被修過的數據來更新,然後刷新出最新的報表。同時若數據量很大,Pivot Table也需時間去讀取和更新數據,減低整體效率。有時候用家忘記更新,這會導致數據與總結報表的不同步,造成分歧。除此之外, Pivot Table的選取範圍也是使用值得留意的地方。例如在制作很多公司需要用上的每月業積報表時, 用家錯誤地只選取了某部份數據,且遺留了其餘的來制作Pivot table。 解決方法則選取更多的範圍,包括空白的地方,而Pivot Table亦會出現"blank"的值,事實上, 這些空白值出現在報中是沒...

Report Template - Excel Formula VS Pivot Table in Excel

Image
Most of Excel users even at beginning level make use of Pivot Table to summarize the raw data into table-format report without coding or writing some complex formula. It is easier for Excel beginner to build their own report based on their specific requirement with user-friendly interface and well-defined format. Nevertheless, Pivot table has its limitation of functional design, which Excel formula could make up such deficiency. If you still think that Pivot-table should be the only tools for reporting in the Excel, the function of Excel formula like SUMIF, COUNTIF seems to be under-estimated. Sometimes, mainly in the working, several users abuse the Pivot Table, for instance, to call the data from the pivot table with the method of "copy and paste to values" instead of using the function: GetPivotData. That results in the complicated and less reliable process flow and thus difficulty of automation development and maintenance. In order to design a reliable and automatic r...