天天看點

06 | 學資料分析要掌握哪些基本概念?

美國明尼蘇達州一家 Target 百貨被客戶投訴,這名客戶指控 Target 将嬰兒産品優惠券寄給他的女兒,而他女兒還是一名高中生。但沒多久這名客戶就來電道歉,因為女兒經他逼問後坦承自己真的懷孕了。Target 百貨寄送嬰兒産品優惠券絕非偶然之舉,他們發現婦女在懷孕的情況下,購買的物品會發生變化,比如護手霜會從有香味的改成無味的,此外還會購買大量維生素等保健品。通過類似的關聯分析,Target 建構了一個“懷孕預測指數”,通過這個指數預測到了顧客已經懷孕的情況,并把優惠券寄送給她。那麼顧客懷孕與商品之間的關聯關系是如何被發現的呢?實際上他們都是用的 Apriori 算法,該算法是由美國學者 Agrawal 在 1994 年提出的。他通過分析購物籃中的商品集合,找出商品之間的關聯關系。利用這種隐性關聯關系,商家就可以強化這類購買行為,進而提升銷售額。這就是資料分析的力量,人們總是從資料分析中得到有價值的資訊,啤酒和尿布的故事也是個經典的案例。如今在超市中,我們還能看到不少組合的套裝打包在一起賣,比如寶潔的産品:飄柔洗髮乳 + 玉蘭油沐浴露、海飛絲洗髮乳 + 舒膚佳沐浴露等等。商品的捆綁銷售是個很有用的營銷方式,背後都是資料分析在發揮作用。

商業智能 BI、資料倉庫 DW、資料挖掘 DM 三者之間的關系

開頭中的百貨商店利用資料預測使用者購物行為屬于商業智能,他們積累的顧客的消費行為習慣會存儲在資料倉庫中,通過對個體進行消費行為分析總結出來的規律屬于資料挖掘。是以我們能在這個場景裡看到三個重要的概念:商業智能、資料倉庫和資料挖掘。

商業智能的英文是 Business Intelligence,縮寫是 BI。相比于資料倉庫、資料挖掘,它是一個更大的概念。商業智能可以說是基于資料倉庫,經過了資料挖掘後,得到了商業價值的過程。是以說資料倉庫是個金礦,資料挖掘是煉金術,而商業報告則是黃金。

資料倉庫的英文是 Data Warehouse,縮寫是 DW。它可以說是 BI 這個房子的地基,搭建好 DW 這個地基之後,才能進行分析使用,最後産生價值。資料倉庫可以說是資料庫的更新概念。從邏輯上了解,資料庫和資料倉庫沒有什麼差別,都是通過資料庫技術來存儲資料的。不過從數量上來講,資料倉庫的量更龐大,适用于資料挖掘和資料分析。資料庫可以了解是一項技術。資料倉庫将原有的多個資料來源中的資料進行彙總、整理而得。資料進入資料倉庫前,必須消除資料中的不一緻性,友善後續進行資料分析和挖掘。

資料挖掘的英文是 Data Mining,縮寫是 DM。在商業智能 BI 中經常會使用到資料挖掘技術。資料挖掘的核心包括分類、聚類、預測、關聯分析等任務,通過這些煉金術,我們可以從資料倉庫中得到寶藏,比如商業報告。很多時候,企業老闆總是以結果為導向,他們認為商業報告才是他們想要的,但是這也是需要經過地基 DW、搬運工 ETL、科學家 DM 等共同的努力才得到的。

中繼資料 VS 資料元

我們前面提到了資料倉庫,在資料倉庫中,還有一類重要的資料是中繼資料,那麼它和資料元有什麼差別呢?

中繼資料(MetaData):描述其它資料的資料,也稱為“中介資料”。

資料元(Data Element):就是最小資料單元。

在生活中,隻要有一類事物,就可以定義一套中繼資料。舉個例子,比如一本圖書的資訊包括了書名、作者、出版社、ISBN、出版時間、頁數和定價等多個屬性的資訊,我們就可以把這些屬性定義成一套圖書的中繼資料。在圖書這個中繼資料中,書名、作者、出版社就是資料元。你可以了解是最小的資料單元。中繼資料最大的好處是使資訊的描述和分類實作了結構化,讓機器處理起來很友善。中繼資料可以很友善地應用于資料倉庫。比如資料倉庫中有資料和資料之間的各種複雜關系,為了描述這些關系,中繼資料可以對資料倉庫的資料進行定義,刻畫資料的抽取和轉換規則,存儲與資料倉庫主題有關的各種資訊。而且整個資料倉庫的運作都是基于中繼資料的,比如抽取排程資料、擷取曆史資料等。通過中繼資料,可以很友善地幫助我們管理資料倉庫。

資料挖掘的流程

聊完了資料倉庫,我們再來談談資料挖掘。資料挖掘不是憑空産生的,它與資料庫技術的發展分不開。資料挖掘的一個英文解釋叫 Knowledge Discovery in Database,簡稱 KDD,也就是資料庫中的知識發現。

在資料挖掘中,有幾個非常重要的任務,就是分類、聚類、預測和關聯分析。我來解釋下這些概念。

1. 分類就是通過訓練集得到一個分類模型,然後用這個模型可以對其他資料進行分類。這裡需要說明下訓練集和測試集的概念。一般來說資料可以劃分為訓練集和測試集。訓練集是用來給機器做訓練的,通常是人們整理好訓練資料,以及這些資料對應的分類辨別。通過訓練,機器就産生了自我分類的模型,然後機器就可以拿着這個分類模型,對測試集中的資料進行分類預測。同樣如果測試集中,人們已經給出了測試結果,我們就可以用測試結果來做驗證,進而了解分類器在測試環境下的表現。

2. 聚類人以群分,物以類聚。聚類就是将資料自動聚類成幾個類别,聚到一起的相似度大,不在一起的差異性大。我們往往利用聚類來做資料劃分。

3. 預測顧名思義,就是通過目前和曆史資料來預測未來趨勢,它可以更好地幫助我們識别機遇和風險。

4. 關聯分析就是發現資料中的關聯規則,它被廣泛應用在購物籃分析,或事務資料分析中。比如我們開頭提到的那個案例。資料挖掘要怎麼完成這些任務呢?它需要将資料庫中的資料經過一系列的加工計算,最終得出有用的資訊。這個過程可以用以下步驟來描述。

06 | 學資料分析要掌握哪些基本概念?

首先,輸入我們收集到的資料,然後對資料進行預處理。預處理通常是将資料轉化成我們想要的格式,然後我們再對資料進行挖掘,最後通過後處理得到我們想要的資訊。那你可能想問,為什麼不直接進行資料挖掘,還要進行資料預處理呢?因為在這個過程中,輸入的資料通常是從不同管道采集而來的,是以資料的格式以及品質是參差不齊的,是以我們需要對資料進行預處理。

資料預進行中,我們會對資料進行幾個處理步驟:資料清洗,資料內建,以及資料變換。

1. 資料清洗主要是為了去除重複資料,去噪聲(即幹擾資料)以及填充缺失值。

2. 資料內建是将多個資料源中的資料存放在一個統一的資料存儲中。

3. 資料變換就是将資料轉換成适合資料挖掘的形式。比如,通過歸一化将屬性資料按照比例縮放,這樣就可以将數值落入一個特定的區間内,比如 0~1 之間。我會在後面的幾節課給你講解如何對資料進行預處理。資料後處理是将模型預測的結果進一步處理後,再導出。比如在二分類問題中,一般能得到的是 0~1 之間的機率值,此時把資料以 0.5 為界限進行四舍五入就可以實作後處理。

資料後處理是将模型預測的結果進一步處理後,再導出。比如在二分類問題中,一般能得到的是 0~1 之間的機率值,此時把資料以 0.5 為界限進行四舍五入就可以實作後處理。

白話資料概念

說了這麼多概念,可能你還是覺得很抽象,我來打個比喻。比如你認識了兩個漂亮的女孩。

商業智能會告訴你要追哪個?成功機率有多大?

資料倉庫會說,我這裡存儲了這兩個女孩的相關資訊,你要嗎?其中每個女孩的資料都有單獨的檔案夾,裡面有她們各自的姓名、生日、喜好和聯系方式等,這些具體的資訊就是資料元,加起來叫作中繼資料。

資料挖掘會幫助你确定追哪個女孩,并且整理好資料倉庫,這裡就可以使用到各種算法,幫你做決策了。

你可能會用到分類算法。禦姐、蘿莉、女王,她到底屬于哪個分類?如果認識的女孩太多了,多到你已經數不過來了,比如說 5 萬人!你就可以使用聚類算法了,它幫你把這些女孩分成多個群組,比如 5 個組。然後再對每個群組的特性進行了解,進行決策。這樣就把 5 萬人的決策,轉化成了 5 個組的決策。成功實作降維,大大提升了效率。如果你想知道這個女孩的閨蜜是誰,那麼關聯分析算法可以告訴你。

如果你的資料來源比較多,比如有很多朋友給你介紹女朋友,很多人都推薦了同一個,你就需要去重,這叫資料清洗;為了友善記憶,你把不同朋友推薦的女孩資訊合成一個,這叫資料內建;有些資料管道統計的體重的機關是公斤,有些是斤,你就需要将它們轉換成同一個機關,這叫資料變換。

最後你可以進行資料可視化了,它會直覺地把你想要的結果呈現出來。

上帝不會告訴我們規律,而是展示給我們資料

還記得高中實體課上我們計算自由落體運動加速度的實驗嗎?我們将重物連上紙帶,通過電火花打點計時器,在紙帶上會出現多個打點。然後我們通過紙帶上打點的個數,以及點之間的間距,來計算自由落體運動的加速度。通過多組實驗,取平均值的方式将誤差降到最小。在我們的高中時代,許多定律都是通過實驗得出的。參加工作以後,很多資料是業務資料,比如電商的客戶購物資料等,這些資料依然有着某些規律。這就需要我們通過資料挖掘的力量來幫我們揭示規律,通過利用這些規律,可以幫我們創造更大的價值。

繼續閱讀