如今數據科學書籍、認證和文憑,如雨後春筍般層出不窮。本文選自《數據天才:數據科學家修煉之道》。

R語言編程跟偽數據科學為何扯上了關係?

R是一種有20多年曆史的開源統計編程語言及編譯環境,是商業化產品S+的後繼者。R一直以來都局限於內存數據處理,在統計圈子裡非常流行,並因其出色的可視化效果為人稱道。一些新型的開發環境通過創建R程序包或者將其擴展到分佈式架構裡(比如將R與Hadoop結合的RHadoop),將R(限於在內存里處理數據)的能力擴大。其他程序語言當然也存在跟偽數據科學沾邊的情況,比如說SAS,但不及R這麼流行。說到SAS,它價格高昂,在政府機構或者實體企業的應用更為廣泛。但在過去10年數據快速增長的領域(如搜索引擎、社交媒體、移動數據、協同過濾推薦等)運用不多。R跟C、Perl或者Python的語法不一樣(後三者語法根源一樣),其簡易性使得寫R的程序員比較廣泛。R還有很多程序包和不錯的用戶界面,SAS卻難學很多。

管理決策層在搭建其數據科學家團隊時,有時也不是很清楚他們想要的到底是什麼。

他們往往最終招募的是很純粹的技術極客、計算機科學家,或者缺乏恰當大數據經驗的人。人力資源部門對於數據科學的了解也不會好到哪裡,因此導致更為嚴重的問題,他們給出的招聘廣告就是不斷重複類似的關鍵詞:Java、Python、MapReduce、R、Hadoop和NoSQL。

數據科學真的就是這些技能的混合嗎?

MapReduce只是一個將數據分解為子集,在不同機器上分開處理,並把所有結果集合起來,從而處理大數據的泛化框架。因此它涉及的是處理大數據的分佈式框架,用到的這些服務器和設備則組成雲(Cloud)。

Hadoop是MapReduce的一種實現,就像C++是面向對象編程的實現一樣。

NoSQL意味著“Not Only SQL(意為不單只是SQL)”,是指能更新穎、更高效地訪問(比如MapReduce)數據的數據庫或數據庫管理系統,有時它是作為SQL(標準數據庫查詢語言)之下的隱藏層而存在的。

除了MapReduce以外,還有其他框架——例如,圖形數據庫和環境,它們依賴於節點和邊這類概念,來管理和訪問數據(通常是空間數據)。這些概念並不一定是新的。在谷歌存在之前,分佈式體系結構已被應用到搜索技術環境中了。15年前,我寫Perl腳本進行哈希連接(一種NoSQL連接,用來連接或合併數據庫中的兩個表)。然而,現在一些數據庫廠商提供的哈希連接,是SQL連接的一個快速替代品。哈希連接在本書後面還會討論到。它們使用哈希表,並依賴於名稱-值對的形式。我想說的結論是,有時MapReduce、NoSQL、Hadoop、Python(一種優秀的腳本語言,往往用於處理文本和非結構化數據)會被認為是Perl的後繼者,但它們根源於幾十年前就開發出的系統和技術,只是在過去的10年裡變得更成熟而已,但數據科學並不只是這些。

事實上,你可以成為一名真正的數據科學家,且不需要掌握這些技能。NoSQL和MapReduce不是新概念——在這些關鍵詞被創建之前,就有很多人接觸到它們。

成為一名數據科學家,你需要以下能力。

  • 敏銳的商業頭腦。
  • 真正的大數據專業知識(例如,可以在幾個小時內快速地處理一個5 000萬行的數據集)。
  • 認知數據的能力。
  • 對模型具有猜疑精神。
  • 了解大數據“詛咒”。
  • 有能力溝通並理解管理人員正在試圖解決哪些問題。
  • 能正確評估付你工資所能帶來的回報(ROI)或效益提升(lift)。
  • 能夠快速地識別一個簡單的、健壯的、可擴展的解決方案。
  • 能夠說服並推動管理人員,即使不情願,也要為了公司、用戶和股東的利益,轉到正確的方向上。
  • 真正熱愛數據分析。
  • 成功案例的實際應用經驗。
  • 數據架構知識。
  • 數據收集和清理技能。
  • 計算複雜度的基礎知識——如何開發健壯的、高效的、可擴展的、可移植的架構。
  • 良好的算法知識。

數據科學家在商業分析、統計學和計算機科學等領域也是通才,比如會掌握這些專業知識:健壯性、實驗設計、算法複雜度、儀錶盤和數據可視化。一些數據科學家也是數據策略師——他們可以開發數據收集策略,並使用數據來發現可操作的、能對商業產生影響的見解。這就要求數據科學家具有創造性,能根據業務要求,制定分析、提出解決方案。

要理解數據科學,所需的基本數學知識包括:

代數,如果可能的話,包括基本矩陣理論。

微積分入門課程。要掌握的理論不多,只需要理解計算的複雜度和O標記法即可。了解特殊函數,包括對數、指數、冪函數。微分方程、積分和復數不是必要的。

統計與概率的入門課程,要了解隨機變量、概率、均值、方差、百分位數、實驗設計、交叉驗證、擬合度和穩健統計的概念(不需要了解技術細節,而是達到本書介紹的程度即可)。

從技術的角度,要掌握的重要技能和知識有R、Python(或Perl)、Excel、SQL、圖形(可視化)、FTP、基本的UNIX命令(sort、grep、head、tail、管道和重定向操作符、cat、cron定時等),以及對如何設計和訪問數據庫有基本了解。了解分佈式系統如何工作和在哪裡能發現瓶頸(是在硬盤和內存之間的數據傳輸,還是在互聯網上),這也很重要。最後,要了解網絡爬蟲基本知識,這有助於獲取互聯網上能找到的非結構化數據。

偽數據科學的例子

這裡有個偽數據科學的例子,說明數據科學家要開展工作,為什麼需要遵循標準和最佳實踐。這裡討論的例子,並不是說它們是不好的產品——實際上,它們有很多的內在價值——但跟真的數據科學無關。原因有以下兩點:

首先,部分統計學家沒有參與到大數據革命中。雖然有些人還寫了關於應用數據科學的書,但只是重新包裝原來的統計課程。

第二,適合大數據集的方法需要變化——按2005年的大數據定義,當有2 000萬行數據時,才有資格成為大數據——但2010年後不能再這樣劃分,因為大數據至少是TB級的。

不少人認為數據科學是統計學的一個新名字,他們把數據科學和偽數據科學,以及2005年的大數據定義與2013年的大數據定義弄混淆了。現代數據也有很大的不同,已經被描述為3個V:速度(velocity)(實時、快速流動)、多樣化(variety)(結構化、非結構化,如微博內容)和大數據量( volume)。我會增加真實性(veracity)和價值(value)。

例子:

某一本數據科學電子書

查看一所著名大學2012年的數據科學訓練手冊,書的大部分內容是關於舊的統計理論。這本書用R來說明各種概念。當用邏輯回歸處理僅僅1萬行數據時,並不是大數據科學,它是偽數據科學。這本電子書全部關於小數據,最後幾章例外,在那裡你會學到一點SQL(嵌入在R代碼中)的知識和如何使用R包從Twitter提取微博內容,且創造出作者所說的詞云(它和雲計算沒關係)。

即使提取Twitter內容的項目也還是小數據,也沒有分佈式體系結構(例如,MapReduce)。事實上,該書從來沒有談到數據架構。該書的水平是初級的。每章以簡單的方式(適合高中學生閱讀)簡短介紹大數據和數據科學,跟該書實際涉獵的小數據科學不搭,跟項目和技術展示脫節。

也許作者增加了這些簡短的段落,是為了可以將他的“R統計”的電子書,重新改名為“數據科學的介紹”。它是免費的、很好的、寫得很棒的書,且會使高中學生對統計和編程感興趣。但它與數據科學無關。

End.

轉貼自: 36大數據


留下你的回應

以訪客張貼回應

0

在此對話中的人們

熱門標籤雲

訪客 - Language of Desire
I think about it is most required for making more on this get engaged Language of Desire
訪客 - BachJohann
This one is good. keep up the good work!.. child care assistance
訪客 - Case Study Help
訪客 - Do My Medical Dissertation Writing
Do My Medical Dissertation Writing
Pretty helpful material, much thanks for this article
Tutuapp is an app store same as google play store but extends the limits more than google play store...