▲(來源:36大數據)
互聯網上充斥著“數據驅動的應用”。
幾乎任何的電子商務應用都是數據驅動的應用。這裡面前端的頁面靠背後的數據庫來支持,它們兩者之間靠中間件來連接其他的數據庫和數據服務(信用卡公司、銀行等等)。但是僅僅使用數據並不是我們所說的真正的“數據科學”。一個數據應用從數據裡獲取價值,同時創造更多的數據作為產出。它不只是帶有數據的一個應用,它就是一個數據產品。而數據科學則是能創建這樣的數據產品
互聯網上早期的數據產品之一就是CDDB數據庫。CDDB數據庫的開發者意識到基於CD(音頻光盤)裡面的每首歌曲的確切長度,任何CD都有一個唯一的數字簽名。Gracenote公司創建了一個數據庫,記錄著歌曲的長度,並和專輯的元數據(歌曲名稱、歌手和專輯名稱)數據庫關聯。如果你曾經使用iTunes來找CD,你就是在使用這個數據庫服務。iTunes會先獲取每首歌的長度,然後發給CDDB,從而得到歌曲的名稱。如果你有一些CD(比如你自製的CD)在數據庫裡沒有記錄,你也可以在CDDB裡創造一個無名專輯的題目。儘管看起來很簡單,但這是革命性的。CDDB把音樂看成是數據,而不僅僅是聲音,並從中創造了新的價值。他們的商業模式和傳統的銷售音樂、共享音樂或者分析音樂口味等業務的模式截然不同,儘管這些業務也可以是“數據產品”。CDDB完全是視音樂的問題為數據的問題。
谷歌是創造數據產品的專家,這裡列幾個例子
谷歌的創新是在於其意識到搜索引擎可以使用入鏈接而不是網頁上的文字。谷歌的PageRank算法是最早一批使用網頁以外的數據的算法之一,特別是網頁的入鏈接數,即其他網頁指向某網頁的數量。記錄鏈接讓谷歌的搜索引擎比其他的引擎更好,而PageRank則是谷歌的成功因素中非常關鍵的一條。
拼寫檢查不是一個非常難的任務,但是通過在用戶輸入搜索關鍵詞時,向錯誤拼寫推薦正確的用法並查看用戶是如何回應推薦,谷歌讓拼寫檢查的準確率大幅提高。他們還建立起了常見錯誤拼寫的字典,其中還包括對應的正確拼寫以及錯誤拼寫常見的上下文
語音識別也是一個非常艱難的任務,而且也還沒有完全被解決。但谷歌通過使用自己收集的語音數據,已經開始了針對這個難題的一個宏大的嘗試。並已把語音搜索集成到了核心搜索引擎裡。
在2009年豬流感的傳播期,谷歌能夠通過跟踪與流感相關的搜索來跟踪這次豬流感的爆發和傳播過程。 通過分析搜索跟流感相關的用戶在不同地區的情況,谷歌能夠比美國國家疾病控制中心提前兩週發現豬流感的爆發和傳播趨勢。
谷歌並不是唯一一家知道如何使用數據的公司。臉書和領英都是用朋友關係來建議用戶他們可能認識或應該認識的其他人。亞馬遜會保存你的搜素關鍵詞,並使用別人的搜索詞來關聯你的搜索,從而能令人驚訝地做出恰當的商品推薦。這些推薦就是數據產品,能幫助推進亞馬遜的傳統的零售業務。所有這些都是因為亞馬遜明白書不僅僅是書,而相機也不僅僅是相機,用戶也不僅僅就是一個用戶。用戶會產生一連串“數據排氣”,挖據它並使用它,那麼相機就變成了一堆數據可以用來和用戶的行為進行關聯。每次用戶訪問他們的網站就會留下數據。
把所有這些應用聯繫到一起的紐帶就是從用戶那裡採集的數據來提供附加價值。無論這個數據是搜索關鍵詞、語音樣本或者產品評價,現在用戶已經成為他們所使用的產品的反饋環中重要的一環。這就是數據科學的開端。
在過去的幾年裡,可用的數據量呈爆炸性的增長。不管是網頁日誌數據、推特流、在線交易數據、“公民科學”、傳感器數據、政府數據或其他什麼數據,現在找到數據已經不再是問題,如何使用這些數據才是關鍵。不僅僅是企業在使用它自己的數據或者用戶貢獻的數據。越來越常見的是把來自多個數據源的數據進行“聚合”。《在R裡進行數據聚合》分析了費城郡的房屋抵押贖回權的情況。它從郡長辦公室獲得了房屋抵押贖回權的公開記錄,抽取了其中的地址信息,再使用雅虎把地址信息轉換成了經緯度。然後使用這些地理位置信息把房屋抵押贖回權的情況繪製在地圖上(另外一個數據源)。再把它們按社區、房屋估值、社區人均收入和其他社會—-經濟因素進行分組。
現在每個企業、創業公司、非營利組織或項目網站,當他們想吸引某個社群的時候所面臨的問題是,如何有效的使用數據。不僅僅是他們自己的數據,還包括所有可用的和相關的數據。有效的使用數據需要與傳統的統計不同的技能。傳統的穿職業西裝的精算師們進行著神秘但其實是早已明確定義的分析。而數據科學與統計的不同是數據科學是一種全盤考慮的方法。我們越來越多的在非正規的渠道裡找到數據,數據科學正隨著數據的不斷收集、把數據轉換為可處理的形式、讓數據自己講故事以及把故事展現給別人不斷演進。 為了能感受到什麼樣的技術是數據科學需要的,讓我們首先看看數據的生命週期:數據從哪裡來,如何使用,以及數據到哪裡去。
數據從哪裡來
數據無處不在,政府、網站、商業夥伴、甚至你自己的身體。雖然我們不是完全淹沒在數據的海洋裡,但可以看到幾乎所有的東西都可以(甚至已經)被測量了。在O'Reilly傳媒公司,我們經常會把來自Nielsen BookScan的行業數據和我們自己的銷售數據、公開的亞馬遜數據、甚至就業數據組合起來研究出版行業發生了什麼。一些網站,比如Infochimps和Factual,可以提供很多大型數據集的連接,包括天氣數據、MySpace的活動流數據、體育活動比賽記錄等。Factual網站還招募用戶來更新和改進它的數據集。這些數據集覆蓋了從內分泌學家到徒步小道等的廣泛內容。
很多我們現在所用的數據都是Web 2.0的產物,也遵守摩爾定律。Web讓人們花更多的時間在線,同時也留下了他們的瀏覽軌跡。移動端應用則留下了更豐富的數據軌跡,因為很多應用都被標註了地理位置信息或附帶著音頻和視頻。這些數據都可以被挖據。結帳點設備和經常購物者購物卡使得獲取消費者的所有交易信息(不光是在線信息)成為可能。如果我們不能存儲這些數據,那麼所有這些數據就將沒有用處。這裡就是摩爾定律起作用的地方。自80年代早期開始,處理器的速度就從10Mhz增加到了3.6GHz,增加了360倍(這還沒考慮處理位數和核數的增加)。但是我們看到存儲能力的增加則更為巨大。內存價格從1000美元每兆字節降到25美元每吉字節,幾乎是40000倍的降低。這還沒考慮內存尺寸的減少和速途的增加。日立公司在1982年製造了第一個吉字節的硬盤,重大概250磅。現在千吉字節級別的硬盤已經是普通消費品,而32吉字節的微存儲卡只有半克重。無論是每克重的比特數、每美元比特數或者總存儲量,存儲能力的提升已經超過了CPU速度的增幅。
摩爾定律應用於數據的重要性不僅是極客的技巧。數據的增長總是能填充滿你的存儲。硬盤容量越大,也就能找到更多的數據把它填滿。瀏覽網頁後留下的“數據排氣”、在臉書上添加某人為朋友或是在本地超市買東西,這些數據都被仔細的收集下來並進行分析。數據存儲的增加就要求有更精緻的分析來使用這些數據。這就是數據科學的基石。
那麼,我們怎麼能讓數據有用?任何數據分析項目的第一步都是“數據調節”,即把數據變換成有用的狀態。我們已經看到了很多數據的格式都是易用的:Atom數據發布、網絡服務業務、微格式和其他的新技術使得數據可以直接被機器消費。但是老式的“屏幕抓取”方法並沒有消亡,而且也不會消亡。很多“非正規”數據源來的數據都是很混亂的。他們都不是很好構建的XML文件(並帶有所有的元數據)。在《在R裡做數據聚合》裡使用的房屋抵押贖回權數據都是發佈在費城郡長辦公司的網站上。這些數據都是HTML文件,很可能是從某個數據表格文件裡自動生成的。如果曾經見過這些由Excel生產的HTML文件,你就知道處理這個會是很有趣的。
數據調節也包括用類似Beautiful Soup這樣的工具來清理混亂的HTML文件,用自然語言處理技術來分析英語和其他語言的純文本,或用人工來幹苦活和臟活。你有可能會處理一系列數據源,而他們各自的格式都不同。如果能有一個標準的工具集來處理這些就太好了,可實際上這是不現實的。為了做數據調節,你需要準備好處理任何的數據格式,並願意使用任何的工具,從原始的Unix工具(如awk)到XML語義分析器和機器學習庫。腳本語言,比如Perl和Python,就很重要了。
一旦你分析了數據,就可以開始思考數據的質量問題了。數據經常會有缺失和不一致。如果數據缺失了,你是要簡單地忽略他們嗎?這也不總是可以的。如果出現數據不一致,你是否要決定某些表現不好的數據(是設備出錯了)是錯的,或者這些不一致的數據恰恰是在講述它自己的故事,而這就更有趣。有報導說,臭氧層消耗的發現被延誤了,因為自動數據收集工具丟棄了那些數值過低的讀數1。在數據科學裡,你能有的經常是你將會拿到的。通常你不可能得到更好的數據,你可能沒有其他的選擇除了使用你手頭有的數據。
如果研究的問題涉及到人類的語言,那理解數據就又給問題增加了一個維度。O'Reilly的數據分析組的主管羅傑.馬古拉斯(Roger Magoulas)最近在為蘋果公司招聘公告列表搜尋數據庫,這需要有地理位置技能。這聽起來像是個簡單任務,這裡的坑就是從很多招聘公告列表裡去發現真正的“蘋果”的工作,而不是那些大量增加的蘋果附屬的工業企業。為了能更好的完成這個任務,就需要能理解一個招聘公告的語法結構,即你需要能解析英語語義。這樣的問題已經變的越來越常見。比如你試著去用谷歌趨勢(Google Trend)去查看Cassandra數據庫或者Python語言正在發生什麼,你就能感受到這個問題了。因為谷歌已經為很多關於大型蛇類的網站建立了索引。歧義消除從來都不是一個簡單的任務,但是類似於Natural Language Toolkit這樣的庫可以讓這個工作簡單一點。 當自然語言處理失效時,你可以用人的智能來代替人工智能。這就是類似亞馬遜的Mechanical Turk這樣的業務所服務的目標。如果你能把你的任務分解成非常多的容易表述子任務,你就可以使用Mechanical Turk的市場來招募很便宜的工人。例如,你想查看招聘公告列表並發現哪些是真正來自蘋果公司,你可以招募工人來做分類,價格大概是一美分一個公告。如果你已經把這個列表的數目降到一萬條有蘋果字樣的公告,那麼只要付100美元就可以讓人工來分類了。
處理海量的數據
我們已經聽說了很多的“大數據”,但是“大”只是轉移注意力的話。石油公司、電信公司和其他數據密集型的行業早就已經在相當長的時間裡擁有了海量的數據集。伴隨著存儲能力的持續增長,今天的“大數據”肯定會變成明天的“中數據”或者日後的“小數據”。我所聽到的最有意義的定義是:“大數據”是指數據的量本身成為問題的一部分。我們討論數據量的問題可從吉字節級到千吉字節不等,在某些時刻,傳統的數據處理技術已經不能勝任了。
面對這樣不同的數據,我們正試圖做什麼?根據傑夫·哈默巴赫爾(Jeff Hammebacher)2所說,我們正在構建信息平台或數據空間。信息平台和傳統的數據倉庫類似,但不同。他們暴露了很豐富的API(應用程序接口),並被設計為用來支持探索和分析理解這些數據,而不是只為傳統的分析和報表。這些平台接收所有的數據格式,包括最混亂的那些,他們的數據模式隨著對數據理解的改變而不斷進化。......
轉貼自: 36大數據
留下你的回應
以訪客張貼回應