像數據科學家同樣思考:12步指南(上)

目前,數據科學家正在受到不少關注,所以,有關數據科學的書籍正在激增。我看過不少關於數據科學的書籍,在我看來他們中的大多數更關注工具和技術,而不是數據科學中細微問題的解決。直到我遇到Brian Godsey的「像數據科學家同樣思考」,它討論了哪些工具最有用以及爲何,但主要目標是在智能,高效和成功的狀況下完成數據科學工程,以解決實際數據中心問題的解決方案。數據庫

數據科學目的生命週期編程

在書中,Brian提出數據科學項目包括3個階段:網絡

·       第一階段是階段:在項目開始時收集信息所花費的時間和精力能夠避免之後的麻煩。運維

·       第二階段是構建產品:從規劃到執行,使用你在準備階段學到的知識以及能夠用的全部工具。機器學習

·       第三階段即將完成:交付產品,得到反饋,進行修訂,產品運維以及完成項目。工具

從圖像中能夠看出,這3個階段包含12個不一樣的任務。我想用這篇文章總結這12個步驟,由於我相信任何有抱負的數據科學家均可以從熟悉它們中受益。學習

第一

數據科學項目始於準備。你須要創建你所知道的、擁有的、能獲得什麼、你在哪裏以及你想成爲何樣。最後一個是最重要的,數據科學項目須要有目的和相應的目標。只有當你有了明確的目標時,才能開始調查可用資源以及實現這些目標的全部可能性。優化

1-設定目標

數據科學項目與許多其餘項目同樣,主要目標應在項目開始時設定。在設定目標後,你所作的全部工做都是利用數據、統計數據和編程來實現這些目標。人工智能

首先,數據科學的每一個項目都是有一個「客戶。有時,「客戶」是向你或你的企業支付費用的人,例如,客戶或承包代理商。在學術界,「客戶」多是一位要求你分析數據的實驗室科學家。有時,「客戶」是你的老闆或其餘同事。不管「客戶」是誰,他們都會對可能從你那裏獲得的東西抱有一些指望。spa

爲了理解這些指望,你須要對「客戶」提供的數據提出好的問題。提出好的問題是一項重要且微妙的挑戰,由於改變世界的是問題。在他們的假設中好的問題是具體的,但好的答案是可衡量的並且沒必要要太多的成本。

雖然有時候好問題、相關數據或富有洞察力的分析比其餘要素更容易得到,但這三者對於得到有用的答案相當重要。任何舊問題,數據和分析的產品並不老是一個答案。值得注意的是,你須要在項目的每一個步驟中都要深思熟慮,並且關鍵性的要素必須存在。例如,若是你個好問題但不相關的數據,則很難找到答案。

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

雖然目標源於項目自己的背景,但每一個目標都應該經過基於數據科學的實用過濾器來實現。此過濾器包括如下幾個問題:(1)有什麼可能?(2)什麼是有價值的?(3)什麼是有效的?將此過濾器應用於好問題、可能的答案、可用數據和可預見的障礙,能夠幫助你實現一系列可靠、有價值且高效的項目目標。

2-探索數據

數據科學項目準備階段的第二步是探索現有數據。下圖顯示了數據科學家可能訪問數據的3種基本方式。數據能夠是文件系統上的文件,數據科學家能夠將文件讀入他們最喜歡的分析工具中。數據也能夠在數據庫中,數據庫也在文件系統上,可是爲了訪問數據,數據科學家必須使用數據庫的接口,這是一個幫助存儲和提取數據的軟件層。最後,數據可能位於應用程序編程接口(API)以後,API是數據科學家與某些系統之間的軟件層。

熟悉數據可能須要接觸到表單以及如何查看和操做這些表單,如下是其中一些:平面文件(csv,tsv)、HTML、XML、JSON、關係數據庫、非關係數據庫、API。有時你沒法決定選擇哪一種格式,數據會以你想象不到的格式出現,但你必須處理它。若是你發現某個格式效率低下、笨拙或不受歡迎,你能夠嘗試設置可能使事情變得更容易的輔助數據存儲格式,但須要花費大量時間和精力來設置輔助數據商店。但對於訪問效率相當重要的應用程序而言,這個成本是值得的。對於較小的項目,也許不是。當你到達那裏時,你必須越過那座橋。

如今你已經瞭解了常見的數據形式,你須要對它們進行偵察。如下是你應該考慮的方法:Google搜索,組合不一樣的數據源,從網絡爬蟲或自行收集它們。就我的而言,我是網絡爬蟲的忠實粉絲。Web scraper必須作的兩件重要事情是以編程方式訪問大量URL並從頁面中捕獲正確的信息。若是你想在Facebook上了解你的朋友網絡,理論上能夠編寫一個腳原本訪問全部朋友的Facebook我的資料,保存我的資料頁面,而後解析這些頁面以獲取他們的朋友列表,訪問他們的朋友配置文件等等。

3-數據整理

第三步是數據整理,就是將困難、非結構化或其餘任意格式獲取數據和信息轉換爲傳統軟件可使用的內容的過程。整理不是一項任務,並不能夠事先準確地規定步驟,由於每一個案例都不一樣,須要解決的問題也不同。

在整理以前,好的整理歸結爲可靠的計劃,而後進行一些猜想和檢查,看看哪些有效,花費一點時間進行數據整理能夠爲你減小不少痛苦。一般,數據整理計劃的選擇應在很大程度上取決於你在首次調查數據時發現的信息。若是你能夠想象解析數據或以某種假設的方式訪問它,你能夠嘗試編寫一個執行操做的腳本。數據整理是一個不肯定的過程,所以最好先探索一下,而後根據你所看到的內容制定整理計劃。

沒有一種方法或一種工具能夠實現使混亂數據清潔的目標。市面上有許多工具能夠作不少事情,但沒有一個工具可以處理任意格式數據。數據以如此多的形式存在,而且出於不一樣的目的,甚至目前沒有一個應用程序可以以任意目的讀取任意數據。簡而言之,數據整理是一個不肯定的事情,須要在特定狀況下使用特定工具來完成工做。你能夠嘗試使用文件格式轉換器或專有數據管理器並編寫腳原本處理數據。

4-評估數

在開發以數據爲中心的產品以前,瞭解數據內容值得花費一點時間和精力。若是你對數據有更多瞭解,你將在整個數據科學項目的每一步作出更明智的決策,並在獲益到最後。若是沒有初步的評估,你可能會遇到異常值、誤差、精、特異性或數據其餘固有的問題。爲了更好地發掘這些數據並更好地瞭解數據,整理數據後的第一步應該是計算一些描述性統計數據。

描述性統計是定量描述信息集合的主要特徵或定量描述自己的學科。考慮描述、最大值、最小值、平均值、數據集的摘要。若是不說起推論統計數據,一般很難討論描述性統計數據。推論統計是指你在沒有徹底統計數據的狀況下得出的結論。對於數據集,你能夠說如下內容:

·       描述性統計數據:「我有什麼?」

·       推論統計數據:「我能得出什麼結論?」

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

使用描述性統計信息,你能夠在數據集中找到與特定概念描述匹配的實體。若是你從事在線零售業務,你可能會將客戶視爲你的實體,而且你但願識別那些可能購買特定做者新書的。若是你在金融領域工做,你可能會在股票市場上尋找即將上漲的股票。若是能夠對這些特徵進行簡單搜索,那麼工做就很容易,你不須要數據科學或統計數據。可是,若是這些特徵並非全部數據固有的。

第二-

在詢問了一些問題並設定一些目標後,你調查了數據世界,整理了一些具體數據,並瞭解了這些數據。在每一步中,你都學到了一些東西,如今你應該可以回答在項目開始時提出的一些問題。如今讓咱們進入建設階段。

5-制定計

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

若是給了新信息或新約束或其餘緣由,計劃和目標可隨時改變。你必須向與項目有關的每一個人(包括客戶)傳達重大更改信息。該項目的客戶對項目的最終產品具備既得利益,所以應該讓客戶瞭解目標的任何變化。客戶可能也對進度報告感興趣,包括你到目前爲止的初步結果以及如何得到它們,但這些是最低優先級。

關注客戶關心的事情客戶是整個項目的核心,它們但願咱們實現什麼,他們到底關心什麼,知道這些很重要。若是他們的目標錯誤,及時的溝通很重要。在此階段與客戶會面的惟一必須結論是,你清楚地溝通新目標是什麼以及他們批准這些目標。

你也能夠考慮將你的基本計劃傳達給客戶,特別是涉及使用他們的資源時,例如數據庫、計算機和其餘員工,他們會有興趣瞭解你將如何以及使用它們的程度。

6-分析數據

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

統計學的一方面是數學,另外一方面是數據。數學 ,尤爲是應用數學,咱們須要經過一組工具提供統計數據,以便進行分析和解釋。不管如何,數學一般不會觸及現實世界,它徹底是基於邏輯並始終從一組假設開始,每一個數學陳述均可以用if開頭(若是假設是真的),這能夠將語句及其結論提高爲抽象性。這並非說數學在現實世界中沒用,偏偏相反數學而不是科學,更多的是咱們能夠用來描述事物的詞彙。其中一些可能在現實世界中與詞彙表包含的單詞同樣,但不多有描述徹底正確。

然而,數學確實提供了統計使用的大量基礎。統計分佈一般由複雜的方程式描述,其根源在實際的科學意義上是有意義的。擬合統計模型一般是使用數學優化技術,即便假設項目數據所在的空間也必須用數學方法描述,描述可能僅僅是「N維歐幾里德空間」。

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

·    描述性統計是一種一般直觀或簡單的統計數據,能夠提供對數據的良好概述,不會過於複雜或難以理解。在某種意義上,描述性統計一般與數據保持接近。

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

·     統計建模是使用描述性統計系統後使用模型來幫助分析和解釋與系統相關數據的通常實踐。描述性和推論性統計都依賴於統計模型,但在某些狀況下,模型自己的明確構造和解釋起次要做用。

經過統計建模,主要關注的是理解模型及其描述的底層系統。數學建模是一個相關概念,它更強調模型構建和解釋,而不是與數據的關係。統計建模側重於模型與數據的關係,如下是你應該瞭解的統計建模中的一些重要概念:

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

·       潛在變量;

·       量化不肯定性:隨機性,方差和偏差項;

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

·       貝葉斯與頻率統計;

·       假設檢驗;

·       聚類;

·       成分分析;

離原始數據最遠的是一組統計技術,一般稱爲黑盒方法。機器學習和人工智能的許多方法都是黑盒方法。若是你嘗試將出如今數據集中的個體分類爲幾個類別,而且你應用機器學習技術(如隨機森林或神經網絡),過後每每很難說爲何是以某種方式分類。數據進入黑匣子,分類出來,最後你一般不能解釋二者之間究竟發生了什麼。

 

原文連接 本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索