iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 1
2

預防針

  1. 本文章集將以Python作為實踐語言。期望以其他語言學習者,可以參考看看就好。
  2. 網路上很多影片說得很厲害,只要幾堂課的時間就可以讓你成為資料科學家,我是不太相信啦。不過說實話,如果要求不要太高,純粹要學著如何應用前人的智慧來分析資料,那還是有可能的,至於資料科學家...我們凡人還是聽聽就好。而本文的期許,也大約就是如此。如果你真的有把以下文章集的技術都實作過一遍,你大約已經具備獨立分析資料的能力了。

前言

今天來跟大家說說身為資料分析者,你應該學習那些技能,以及這些技能大約需要花多久時間可以習得。首先,讓我們先來看看,資料的分析流程,從以下流程中,我將逐一介紹,每一個階段你可會需要使用到的技能。

https://ithelp.ithome.com.tw/upload/images/20171206/20107576WyBdWAmL7Z.jpg

資料來源

要玩轉資料,首先你必須取得資料。誠然,在練習的過程中,你可以很輕易地取得各種各樣的資料,如Kaggle上任一比賽的資料就是很好的練習工具。但是如果很不幸的你想解決的問題,無法輕易地找到資料,那麼你可能需要一些技巧來蒐集資料,如建構網站蒐集使用者資料、網路爬蟲汲取資料或是任何感應裝置接入資料。當然這一切的一切,都取決於你想解決的問題以及你對各種技術的興趣,不過因為時間(反正在這邊的大家對架網站也不會太有興趣喇ㄎㄎ)以及個人能力因素(我完全不懂IOT...囧),接下來的文章僅針對網路爬蟲做介紹,除了基礎教學之外,也會放一些進階的技巧。

資料庫

資料庫又分為SQL(唸西闊)關聯式資料庫以及NOSQL(Not Only SQL)非關聯式資料庫。關聯式資料庫講求的是資料的管理功能,因為有建立關聯的關係,所以可以透過更改源頭的table自動更新關聯過去的Table,相關的知識可以搜索資料庫正規化,目前關聯式資料庫最大的供應商為Oracle SQL及MS SQL,不過因為其價格並非凡人可以隨意接進,所以目前無產階級最常使用的關聯是資料庫為MySQL(不過也已經被Oracle買下,不知何年何月會開始收錢)。另外,聽說也滿多人在使用PostgreSQL,似乎是因為全文檢索的功能很好用,如果有相關需求也可以可考慮。
非關聯式資料庫則不需經過正規化,直接將所有的資料用一張表儲存起來。如果大家對詳細的關聯式跟非關聯式資料庫的差異有興趣,直接Google即可,會有很多文章滿足你求知的慾望的,鳩咪。至於非關聯式資料庫的種類,iThome有文章寫得很清楚,不過我個人只有使用過MongoDB以及Elasticsearch,MongoDB我覺得就已經滿好用,如果只是要做初步的資料分析,絕對已經足夠,而之所以會關注到Elasticsearch,則是因為其全文檢索功能非常完備,不過因為它網路上的server(Elasticsearch Cloud)比較貴,之後就沒有繼續使用了。
而在接下來的文章中,由於我們分析資料的特性,不太需要使用到資料管理的功能,所以只會使用非關聯式資料庫,並以MongoDB作為示範、mlab作為雲端MongoDB的server,然後透過Python與其互動(新增、刪除以及查詢)。

做上面那圖太累了,明日待續....


下一篇
資料分析師的學習之路(續)
系列文
玩轉資料與機器學習-以自然語言處理為例31

尚未有邦友留言

立即登入留言