天天看點

《Spark與Hadoop大資料分析》——1.2 大資料科學以及Hadoop和Spark在其中承擔的角色

資料科學的工作展現在以下這兩個方面:

《Spark與Hadoop大資料分析》——1.2 大資料科學以及Hadoop和Spark在其中承擔的角色

要從資料中提取其深層次的規律性,意味着要使用統計算法提煉出有價值的資訊。資料産品則是一種軟體系統,其核心功能取決于對資料的統計分析和機器學習的應用。Google AdWords或Facebook裡的“你可能認識的人”就是資料産品的兩個例子。

從資料分析到資料科學的根本轉變的根源,是對更準确的預測和建立更好的資料産品需求的不斷增長。

讓我們來看一個示例,其中解釋了資料分析和資料科學之間的差異。

問題:某大型電信公司有多個呼叫中心,負責收集呼叫者資訊并将其存儲在資料庫和檔案系統中。該公司已經對呼叫中心資料實施資料分析,提供了以下分析結果:

《Spark與Hadoop大資料分析》——1.2 大資料科學以及Hadoop和Spark在其中承擔的角色

現在,該電信公司希望減少客戶流失,改善客戶體驗,提高服務品質,并通過以接近實時的方式了解客戶的情況,進行交叉銷售和向上銷售。

解決方案:分析客戶的聲音。客戶的聲音比任何其他資訊都有更深刻的含義。我們可以使用CMU Sphinx等工具将所有呼叫轉換為文本,并在Hadoop平台上進行擴充。我們可以進行文本分析以從資料中擷取分析結果,獲得高精确度的呼叫–文本轉換,建立适合該公司的模型(語言和聲學),并根據業務發生變化的頻度,随時重新訓練模型。此外,可以利用機器學習和自然語言處理(natural language processing,NLP)技術建立用于文本分析的模型,提供以下名額,合并到資料分析的名額裡:

《Spark與Hadoop大資料分析》——1.2 大資料科學以及Hadoop和Spark在其中承擔的角色

請注意,這個用例的業務需求産生了從資料分析到實作機器學習和NLP算法的資料科學的根本轉變。為了實施這個解決方案,需要使用新的工具和技術,還需要一個新的角色:資料科學家。

資料科學家具備多種技能—統計、軟體程式設計和業務專業知識。資料科學家能夠建立資料産品,并從資料中提煉出價值。讓我們來看看資料科學家與其他角色有什麼不同。這會有助于我們了解在資料科學和資料分析項目中有哪些角色,以及他們要承擔哪些工作。

資料科學家和軟體工程師角色之間的差別如下:

《Spark與Hadoop大資料分析》——1.2 大資料科學以及Hadoop和Spark在其中承擔的角色

資料科學家和資料分析師角色之間的差別如下:

《Spark與Hadoop大資料分析》——1.2 大資料科學以及Hadoop和Spark在其中承擔的角色

資料科學家和業務分析師角色之間的差別如下:

《Spark與Hadoop大資料分析》——1.2 大資料科學以及Hadoop和Spark在其中承擔的角色

讓我們學習如何了解和執行典型的資料科學項目。

從圖1-4中所示的典型資料科學項目的生命周期可以看出,資料科學項目的生命周期是疊代的,而如圖1-3所示的資料分析項目的生命周期卻不是疊代的。在對項目結果進行改善的情況下,定義問題和結果以及溝通這兩個階段沒有包含在疊代中。然而,整個項目的生命周期是疊代式的,它需要在生産實施後不斷地改進。

《Spark與Hadoop大資料分析》——1.2 大資料科學以及Hadoop和Spark在其中承擔的角色

在資料預處理階段,定義問題和結果的步驟與資料分析項目類似,如圖1-3所示。是以,讓我們來讨論資料科學項目所需的新步驟。

對于具體問題,要考慮所有能夠和預期結果相比對的可行解決方案。這通常涉及關于這個問題的根本原因的假設。這樣,關于業務狀況的問題就會浮現出來,例如為什麼客戶會取消服務,為什麼支援電話會顯著增加,以及為什麼客戶會放棄購物車。

如果我們對資料有更深入的了解,根據某個假設就可以确定合适的模型。這就關系到了解資料的屬性及其互相關系,并通過定義用于測試、訓練和生産的資料集來建構模組化所需的環境。我們可以利用機器學習算法(如邏輯回歸、K均值聚類、決策樹或樸素貝葉斯等)來建構合适的模型。

模型的執行是通過針對資料集運作确定的模型來進行的。通過利用正确的輸出對結果進行核對可以衡量模型的有效性。我們可以使用測試資料驗證結果,并建立像均方差(Mean Squared Error,MSE)之類衡量有效性的名額。

從衡量結果可以看到需要改進的程度有多大。要考慮你會做出哪些改變。你可以問自己以下問題:

《Spark與Hadoop大資料分析》——1.2 大資料科學以及Hadoop和Spark在其中承擔的角色

一旦你實施了改進措施,就要對它們再次進行測試,并将它們與以前的衡量結果進行比較,以進一步改進解決方案。

針對結果的交流是資料科學項目生命周期中的重要一步。資料科學家描述資料中的發現的方式是把這些發現和業務問題關聯起來。報表和儀表闆是交流結果的常用工具。

Apache Hadoop為你提供了分布式存儲和資源管理功能,而Spark為你提供了資料科學應用程式所需的記憶體級性能。對于資料科學項目來說,Hadoop和Spark有以下的優點:

《Spark與Hadoop大資料分析》——1.2 大資料科學以及Hadoop和Spark在其中承擔的角色

繼續閱讀