王樹義
讀完需要
17分鐘
速讀僅需 6 分鐘
數據分析的門檻在降低,希望你能及時意識到。
1
需求
今天是本學期《數據庫系統原理》的最后一課。學生們完成了數據分析項目,依次上臺做展示。
看到連計算機掃盲課都沒有上過的文科生,經過一個學期的學習,能夠自己從網上找數據,導入關系型數據庫,用 SQL 來做查詢,直到以數據來回答自己感興趣的問題,我覺得很開心。
在這個大數據時代,我們每個人的工作,都或多或少要跟數據打交道。小到記錄自己的賬本,大到用數據輔助企業戰略決策。用好數據,可以幫助你所在的團隊,和你個人增值。
有價值的數據,許多都存儲在了各種數據庫里面。想要使用好它們,只會用 Excel 或者 是不夠的。一般來說,查詢它們的最好方式,是學會各種查詢語言。最常見的,就是 SQL。
在著名的 課程 for 里面,主講教授密歇根大學的 Chuck (Dr. ) 認為,SQL 語言是編程語言中最簡單的一種。
但是,我們還是現實一點。
許多時候,你有分析數據的沖動,然而并非人人都有時間和意愿去學一門 SQL 課程,來完成日常工作中的數據查詢、分析和可視化工作。
2
工具
好在,技術的發展,總是把很多原先專業人士才能做的事兒,變成大眾都能做的。
例如自動擋汽車,例如手機上的相機應用,再例如我今天要給你介紹的 。
的 ,是這個樣子的。
翻譯過來,重點就是:
3
安裝
我們來嘗試一下。
這款工具,完全可以適用于團隊協作,因為它提供了 鏡像、AWS 和 等方便的云端使用方式。
為了介紹的簡單與方便,這里我只給你介紹一下單機版的安裝。其余的應用形式,你可以學習本文之后,自己繼續挖掘。
因為我自己使用的是 macOS ,所以這里選擇 Mac 下面編譯好的安裝文件就行。
如果你使用的是其他系統,例如 Linux 或者 ,安裝也不麻煩。只需要點擊“其他平臺”按鈕,下載一個 jar 類型文件。只要你在系統里面安裝好 Java 運行環境,就可以直接雙擊該文件運行了。
這里以我電腦上的 macOS 系統為例。打開下載的 dmg 文件后,把可執行文件拖入到“應用”文件夾,就可以了。
第一次運行的時候,可能需要一些時間初始化。
當出現以下界面的時候,就意味著準備就緒了。
請你點擊上圖里面的藍色按鈕,開始設置。
我們需要輸入一些基本注冊信息。
之后,選擇我們需要連接的數據庫。
注意,這里有很多選項可以選擇。這些選項,基本上涵蓋了市面上常見的主流數據庫類型。
為了方便起見,這里我們使用“麻雀雖小五臟俱全”的 數據庫。其他類型的數據庫,你可以稍后自己嘗試。
我用的樣例,是 數據庫開放課程使用的 .db 。我自己上課的時候,一直用它作為基礎樣例演示給學生。
設置完畢之后,下面需要注意,有個數據統計選項。 是在詢問你,是否允許把你的使用行為統計信息發給它,幫助改進。
如果你樂于分享,可以保持原先設定。若對自己的隱私比較注重,不用糾結了,可以關閉該選項。
到這里,安裝和設置就算完成了。
4
瀏覽
下面我們看看有哪些數據表可以查看。
這個數據庫里面包含了3張表格,分別是:
我們選擇其中的學生表格。
默認給了我們一些基本的描述性統計結果。
例如最重要的,是一張表格到底有多少行。這里樣例 表里,一共有12個學生的記錄。
還沒完,往下翻, 還為我們自動生成了一些其他統計結果。
首先是學生的學號分布。
當然,由于學號無非是個獨特數字而已,所以這個統計沒有什么用處。
但下面這張,就不一樣了。
這是學生的 GPA 分布,可見,大部分學生的成績高于 3.6 分。數據集不是個均勻或者正態分布。
上面這張圖,反映了學生來自的高中學校大小??吹贸鰜?,大部分學生還是來自于學生人數較多的學校。來自小而精的高中學生人數,相對較少。
后面這張圖,統計了學生姓名。有意思的是,你可以清楚看到,有重名的學生。
如果你不滿足于只看這些統計信息,而希望查看原始數據。那么可以點擊“ Data” 按鈕,選擇 數據庫。
然后選擇其中的 表格,就能看到全部學生記錄信息。
5
分析
如果我們只關注其中一部分學生的情況,可以選擇上方紫色的“”(過濾)按鈕。
這里,所有的條件sql數據庫文件類型,都可以通過選擇和輸入數值來完成,不需要編程。我們選擇過濾結果只保留 GPA 大于 3.5 的學生。
上圖左側就是我們想看的結果了。
但是我們會覺得,“一幅圖勝似千言萬語”。
怎么辦呢?我們選擇右下方,以 GPA 作為分組依據,然后點擊左下方的 (可視化)按鈕。
可見,在成績大于3.5的學生里面,有4個是3.9分的成績。這部分學生里面,學霸占的比例不小啊。
我們還可以換一種分組方式,這里我們使用高中學校人數作為分組依據。然后再次進行可視化。
于是你可以看到,GPA 3.5 分以上的學生,來自于人數規模1000的高中最多。
點擊可視化按鈕,我們可以選擇不同的圖形來表示。
這里我們選擇餅圖。
你覺得在這個問題里,柱狀圖和餅圖,哪個更適合描述咱們的過濾分析結果呢?
6
地圖
下面我們來看看,如何對數據進行地理信息可視化。也就是,畫個地圖出來。
這里,我們選用的,是其中 這張表格。
這張表格里面,包含以下信息。
我們打算看看,不同州大學的錄取人數。做法很簡單。還是點擊 。
選擇圖形選項最右下方的“地圖”(Map)。
修改 field 為 。然后 Field 為 State (州)。
于是你就能看見下面這樣的地圖了。
有意思的是, 對于州的簡寫方式也能正確識別,并且把它們標記在地圖上。而且根據匯總招生人數的多寡,還自動選擇了不同深淺的顏色。
7
關聯
下面我們來看看更實用的分析手段——關聯查詢。
從一張表里,我們已經可以分析出不少東西了。但是更多情況下,我們希望采用多張表格聯合在一起,從而能從中挖掘出洞見()。
例如這里我給你提一個問題:
不同大學錄取最低 GPA 是多少?
這個問題,你若是只用一張表,是無非回答的。
因為 Apply 表里面雖然有錄取決策信息,但是不包含 GPA;
表里面雖然包括了 GPA,但你不知道學生報了哪所學校,以及是否被錄取了。
讓我們點擊上方菜單欄里面的“問問題”(Ask a )按鈕,然后從下圖中選擇“定制問題”( )。
然后,你需要選擇數據庫。
還得選擇一個初始的表格。
我們選擇 表。
然后選擇 Join data (關聯數據)。
這里我們需要選擇 Apply 表格。
然后會讓我們選擇用哪個列進行關聯。畢竟,如果我們把張三的學生信息關聯到李四的錄取信息記錄上,是沒有意義的。
我們觀察一下sql數據庫文件類型,發現在 和 Apply 中,都出現了學生的 ID (sID),這是學生的唯一標識。就用它好了。
下面我們設置一下過濾條件。顯然,既然考慮錄取分數,那么就得找出那些被錄取的人。
于是我們在 一欄里面點擊。
選擇 Apply 表格。
然后從中選擇 (錄取決策)。
因為這里只有兩種取值選擇。所以我們可以選擇 Y (錄取)。
然后我們就可以根據學校來查看最低錄取分數了。
這里我們填寫綠色的 。
我們感興趣的是最低錄取分數,所以可以從中選擇 of 。
然后選擇 GPA 作為最小值選擇列。
還沒完。因為我們是需要按照學校來分別計算的。所以在 by 后面選擇 cName 。
通過簡單的點選,你現在已經有了所有需要設置的信息。
好,我們執行吧。選擇 。
從這張圖里,我們可以看到, 錄取學生的 GPA 線最高。 和 并列最低。
由此看來,名校看重的,絕不僅僅是 GPA 成績啊。
是嗎?
8
小結
本文我帶你用一個極簡的數據庫樣例,嘗試了不寫任何一句 SQL 代碼,對數據庫進行過濾、分析、統計、可視化,以及表間關聯查詢。
你可能會覺得,這么簡單的數據,我拿眼看心算,都比你這方法快!
沒錯,但是想象一下,如果你的每張表里面,數據量都多上1000倍呢?
我們要學東西,就需要掌握這種能規?;瘧玫募寄堋km然初始學習的時候覺得有些繁瑣,但是真正幫你應對大規模數據結果的時候,你就能嘗到掌握它的甜頭了。
祝數據分析愉快!
感覺有用的話,請點“在看”,并且把它轉發給你身邊有需要的朋友。