天天看點

像資料科學家一樣思考:12步指南(上)

目前,資料科學家正在受到很多關注,是以,有關資料科學的書籍正在激增。我看過很多關于資料科學的書籍,在我看來他們中的大多數更關注工具和技術,而不是資料科學中細微問題的解決。直到我遇到Brian Godsey的“

像資料科學家一樣思考

”,它讨論了哪些工具最有用以及為什麼,但主要目标是在智能,高效和成功的情況下完成資料科學工程,以解決實際資料中心問題的解決方案。

資料科學 目的生命周期

在書中,Brian提出資料科學項目包括3個階段:

·      

第一階段是準備階段:在項目開始時收集資訊所花費的時間和精力可以避免以後的麻煩。

第二階段是建構産品:從規劃到執行,使用你在準備階段學到的知識以及可以用的所有工具。

第三階段即将完成:傳遞産品,獲得回報,進行修訂,産品運維以及完成項目。

像資料科學家一樣思考:12步指南(上)

從圖像中可以看出,這3個階段包含12個不同的任務。我想用這篇文章總結這12個步驟,因為我相信任何有抱負的資料科學家都可以從熟悉它們中受益。

第一階段:準備

資料科學項目始于準備。你需要建立你所知道的、擁有的、能得到什麼、你在哪裡以及你想成為什麼樣。最後一個是最重要的,資料科學項目需要有目的和相應的目标。隻有當你有了明确的目标時,才能開始調查可用資源以及實作這些目标的所有可能性。

1-設定目标

像資料科學家一樣思考:12步指南(上)

資料科學項目與許多其他項目一樣,主要目标應在項目開始時設定。在設定目标後,你所做的所有工作都是利用資料、統計資料和程式設計來實作這些目标。

首先,資料科學的每個項目都是有一個“客戶”的。有時,“客戶”是向你或你的企業支付費用的人,例如,客戶或承包代理商。在學術界,“客戶”可能是一位要求你分析資料的實驗室科學家。有時,“客戶”是你的老闆或其他同僚。無論“客戶”是誰,他們都會對可能從你那裡得到的東西抱有一些期望。

為了了解這些期望,你需要對“客戶”提供的資料提出好的問題。提出好的問題是一項重要且微妙的挑戰,因為改變世界的是問題。在他們的假設中好的問題是具體的,但好的答案是可衡量的而且不必要太多的成本。

雖然有時候好問題、相關資料或富有洞察力的分析比其他要素更容易獲得,但這三者對于獲得有用的答案至關重要。任何舊問題,資料和分析的産品并不總是一個答案。值得注意的是,你需要在項目的每個步驟中都要深思熟慮,而且關鍵性的要素必須存在。例如,如果你個好問題但不相關的資料,則很難找到答案。

開始的時候是在資料和答案的背景下評估項目目标的好時機。通常,初始目标的設定需要考慮一些商業目的。如果你不從事商業活動,例如,你正在進行研究,那麼目的通常是對結果進行一些外部使用,例如在特定領域中推進科學知識或為其他人提供分析工具。

像資料科學家一樣思考:12步指南(上)

雖然目标源于項目本身的背景,但每個目标都應該通過基于資料科學的實用過濾器來實作。此過濾器包括以下幾個問題:(1)有什麼可能?(2)什麼是有價值的?(3)什麼是有效的?将此過濾器應用于好問題、可能的答案、可用資料和可預見的障礙,可以幫助你實作一系列可靠、有價值且高效的項目目标。

2-探索資料

像資料科學家一樣思考:12步指南(上)

資料科學項目準備階段的第二步是探索現有資料。下圖顯示了資料科學家可能通路資料的3種基本方式。資料可以是檔案系統上的檔案,資料科學家可以将檔案讀入他們最喜歡的分析工具中。資料也可以在資料庫中,資料庫也在檔案系統上,但是為了通路資料,資料科學家必須使用資料庫的接口,這是一個幫助存儲和提取資料的軟體層。最後,資料可能位于應用程式程式設計接口(API)之後,API是資料科學家與某些系統之間的軟體層。

熟悉資料可能需要接觸到表單以及如何檢視和操作這些表單,以下是其中一些:平面檔案(csv,tsv)、HTML、XML、JSON、關系資料庫、非關系資料庫、API。有時你無法決定選擇哪種格式,資料會以你想象不到的格式出現,但你必須處理它。如果你發現某個格式效率低下、笨拙或不受歡迎,你可以嘗試設定可能使事情變得更容易的輔助資料存儲格式,但需要花費大量時間和精力來設定輔助資料商店。但對于通路效率至關重要的應用程式而言,這個成本是值得的。對于較小的項目,也許不是。當你到達那裡時,你必須越過那座橋。

像資料科學家一樣思考:12步指南(上)

現在你已經了解了常見的資料形式,你需要對它們進行偵察。以下是你應該考慮的方法:Google搜尋,組合不同的資料源,從網絡爬蟲或自行收集它們。就個人而言,我是網絡爬蟲的忠實粉絲。Web

scraper必須做的兩件重要事情是以程式設計方式通路大量URL并從頁面中捕獲正确的資訊。如果你想在Facebook上了解你的朋友網絡,理論上可以編寫一個腳本來通路所有朋友的Facebook個人資料,儲存個人資料頁面,然後解析這些頁面以擷取他們的朋友清單,通路他們的朋友配置檔案等等。

3-資料整理

像資料科學家一樣思考:12步指南(上)

第三步是資料整理,就是将困難、非結構化或其他任意格式擷取資料和資訊轉換為傳統軟體可以使用的内容的過程。整理不是一項任務,并不可以事先準确地規定步驟,因為每個案例都不同,需要解決的問題也不一樣。

在整理之前,好的整理歸結為可靠的計劃,然後進行一些猜測和檢查,看看哪些有效,花費一點時間進行資料整理可以為你減少很多痛苦。通常,資料整理計劃的選擇應在很大程度上取決于你在首次調查資料時發現的資訊。如果你可以想象解析資料或以某種假設的方式通路它,你可以嘗試編寫一個執行操作的腳本。資料整理是一個不确定的過程,是以最好先探索一下,然後根據你所看到的内容制定整理計劃。

沒有一種方法或一種工具可以實作使混亂資料清潔的目标。市面上有許多工具可以做很多事情,但沒有一個工具能夠處理任意格式資料。資料以如此多的形式存在,并且出于不同的目的,甚至目前沒有一個應用程式能夠以任意目的讀取任意資料。簡而言之,資料整理是一個不确定的事情,需要在特定情況下使用特定工具來完成工作。你可以嘗試使用檔案格式轉換器或專有資料管理器并編寫腳本來處理資料。

4-評估資料

像資料科學家一樣思考:12步指南(上)

在開發以資料為中心的産品之前,了解資料内容值得花費一點時間和精力。如果你對資料有更多了解,你将在整個資料科學項目的每一步做出更明智的決策,并在獲益到最後。如果沒有初步的評估,你可能會遇到異常值、偏差、精、特異性或資料其他固有的問題。為了更好地發掘這些資料并更好地了解資料,整理資料後的第一步應該是計算一些描述性統計資料。

描述性統計是定量描述資訊集合的主要特征或定量描述本身的學科。考慮描述、最大值、最小值、平均值、資料集的摘要。如果不提及推論統計資料,通常很難讨論描述性統計資料。推論統計是指你在沒有完全統計資料的情況下得出的結論。對于資料集,你可以說以下内容:

描述性統計資料:“我有什麼?”

推論統計資料:“我能得出什麼結論?”

大多數統計學家都認為推論統計資料可以得到大部分很酷的結論:當世界人口達到峰值然後開始下降時,病毒流行病的傳播速度有多快;當股市上漲時,人們是否會在Twitter上對一個主題有一般積極或消極的情緒等等。而描述性統計在使這些結論成為定論方面起了非常重要的作用。總之,了解你擁有的資料以及它可以為你做些什麼是值得的。

使用描述性統計資訊,你可以在資料集中找到與特定概念描述比對的實體。如果你從事線上零售業務,你可能會将客戶視為你的實體,并且你希望識别那些可能購買特定作者新書的。如果你在金融領域工作,你可能會在股票市場上尋找即将上漲的股票。如果可以對這些特征進行簡單搜尋,那麼工作就很容易,你不需要資料科學或統計資料。但是,如果這些特征并不是所有資料固有的。

第二階段-建設

在詢問了一些問題并設定一些目标後,你調查了資料世界,整理了一些具體資料,并了解了這些資料。在每一步中,你都學到了一些東西,現在你應該能夠回答在項目開始時提出的一些問題。現在讓我們進入建設階段。

5-制定計劃

像資料科學家一樣思考:12步指南(上)

第五步是制定計劃。與早期的規劃階段一樣,不确定性和靈活路徑應該是你的首要考慮因素。你現在對你的項目了解了更多,是以之前存在的一些不确定因素已不複存在,但某些新的不确定因素已經出現。把你的計劃想象成一條通往城市的試驗性路線,這條城市的街道正在不斷建設中。你知道你想去哪裡以及去往那裡的幾種方法,但是在每個十字路口都可能有道路封閉、交通不暢或人行道坍塌和破碎。當你遇到這些障礙時,你必須做出決定,但是現在隻需要一兩個備用計劃就足夠了。

如果給了新資訊或新限制或其他原因,計劃和目标可随時改變。你必須向與項目有關的每個人(包括客戶)傳達重大更改資訊。該項目的客戶對項目的最終産品具有既得利益,是以應該讓客戶了解目标的任何變化。客戶可能也對進度報告感興趣,包括你到目前為止的初步結果以及如何獲得它們,但這些是最低優先級。

關注客戶關心的事情

客戶是整個項目的核心,它們希望我們實作什麼,他們到底關心什麼,知道這些很重要。如果他們的目标錯誤,及時的溝通很重要。在此階段與客戶會面的唯一必須結論是,你清楚地溝通新目标是什麼以及他們準許這些目标。

你也可以考慮将你的基本計劃傳達給客戶,特别是涉及使用他們的資源時,例如資料庫、計算機和其他員工,他們會有興趣了解你将如何以及使用它們的程度。

6-分析資料

像資料科學家一樣思考:12步指南(上)

第六步是資料的統計分析。統計方法通常被認為是進行良好資料科學所需技能和知識的近一半或三分之一,另一大部分是軟體開發,剩下的較小部分是主題或領域專業知識。

統計學的一方面是數學,另一方面是資料。

數學

 ,尤其是應用數學,我們需要通過一組工具提供統計資料,以便進行分析和解釋。無論如何,數學通常不會觸及現實世界,它完全是基于邏輯并始終從一組假設開始,每個數學陳述都可以用if開頭(如果假設是真的),這可以将語句及其結論提升為抽象性。這并不是說數學在現實世界中沒用,恰恰相反數學而不是科學,更多的是我們可以用來描述事物的詞彙。其中一些可能在現實世界中與詞彙表包含的單詞一樣,但很少有描述完全正确。

然而,數學确實提供了統計使用的大量基礎。統計分布通常由複雜的方程式描述,其根源在實際的科學意義上是有意義的。拟合統計模型通常是使用數學優化技術,即使假設項目資料所在的空間也必須用數學方法描述,描述可能僅僅是“N維歐幾裡德空間”。

除數學外,統計學還擁有一套專屬的以資料為中心的技術。

·    描述性統計是一種通常直覺或簡單的統計資料,可以提供對資料的良好概述,不會過于複雜或難以了解。在某種意義上,描述性統計通常與資料保持接近。

·    推理統計本質上是從資料中删除的一個或多個步驟。推斷是基于可測量的相關量來估計未知量的過程。通常,推論統計涉及統計模型,該模型定義數量,可測量和不可測量,以及它們彼此之間的關系。推論統計的方法可以從簡單到複雜,也可以在抽象性和可解釋性方面有所不同。

·     統計模組化是使用描述性統計系統後使用模型來幫助分析和解釋與系統相關資料的一般實踐。描述性和推論性統計都依賴于統計模型,但在某些情況下,模型本身的明确構造和解釋起次要作用。

像資料科學家一樣思考:12步指南(上)

通過統計模組化,主要關注的是了解模型及其描述的底層系統。數學模組化是一個相關概念,它更強調模型建構和解釋,而不是與資料的關系。統計模組化側重于模型與資料的關系,以下是你應該了解的統計模組化中的一些重要概念:

線性、指數、多項式、樣條、微分、非線性方程;

潛在變量;

量化不确定性:随機性,方差和誤差項;

拟合模型:最大似然估計、最大後驗估計、變分貝葉斯、馬爾可夫鍊蒙特卡羅、過拟合。

貝葉斯與頻率統計;

假設檢驗;

聚類;

成分分析;

離原始資料最遠的是一組統計技術,通常稱為黑盒方法。機器學習和人工智能的許多方法都是黑盒方法。如果你嘗試将出現在資料集中的個體分類為幾個類别,并且你應用機器學習技術(如随機森林或神經網絡),事後往往很難說為什麼是以某種方式分類。資料進入黑匣子,分類出來,最後你通常不能解釋兩者之間究竟發生了什麼。

本文由阿裡雲雲栖社群組織翻譯。

文章原标題《how-to-think-like-a-data-scientist-in-12-steps》作者:

James Le

譯者:虎說八道 審校:袁虎

文章為簡譯,更為詳細的内容,請檢視

原文