編者按:MarkLogic數據架構師Kurt Cagle分享了他的洞見,缺乏良好的數據收集、整理、儲存過程,數據分析的結果只能是垃圾。
大約四年前,興起了數據科學家這一不可或缺的行當。搞技術的紛紛扔掉讀大學時老舊的統計學課本,花了很多時間重新學習Python Pandas和R,還有最新的機器學習理論,添置了新款的白大褂。我知道我就是這么做的。
如果你曾經是個Hadoop開發者,那數據科學也是一個好去處。畢竟所有人都以為不會map/reduce的數據科學家不是一個好數據科學家。這甚至可能延緩即將到來的Hadoop企業的崩潰到幾年之后,伴隨著印度程序員作坊大量炮制數以千計的新Hadoop程序員和數據科學“專家”,以趕上下一個大趨勢。
公司以最高的價格為此買單。Nasdaq上的每家公司都給數據科學家開出高薪,以免因為后知后覺而受到競爭對手的沖擊。同時銷售經理和C開頭的那些執行官也可以指望早上啟動iPad后可以實時看到公司運轉得有多好。控制面板曾經變成一大社會地位象征——資深的執行官享有超級奢侈的執行面板,基于3D可視化技術和實時動畫散點圖,而相對初級的同事得到的是2D平面版本,只有最少的總結。
然而,到目前為止,并沒有什么真正的改變。數據科學家(大多數是高學歷人士,在制藥分析和高級材料工程這樣的領域具有多年經驗)將逐漸意識到,他們需要處理的數據的質量……好吧,不帶任何貶低地說,糟透了。人們被引導了,相信因為他們有遍布各處的成千個數據庫,因此他們的組織有海量的數據,并且大部分——如果不是全部的話——數據是有價值的。
那些數據科學家將發現,情況與此相反,大部分數據都是過時的,格式不對,數據模型適用于創建數據的程序員當時需要的應用。大量數據是在電子表格中,在缺乏任何流程、控制和遠見的情況下,被反復修改。這些記錄離真相很遠,有太多數據是缺乏文檔的一次性數據,列名會是MFGRTL3QREVPRJ之類的,鍵也絕對是不一致的。
換句話說,他們擁有的數據基本上對任何分析而言都毫無用處,離那些擅長制藥試驗日常測試結果分析的人心目中的分析更是差了十萬八千里。
現在你拿著15萬美元的年薪為業務代表提供控制面板,這些業務代表對統計學一無所知,但對需要百萬美元和授權才能玩轉的事情無能為力。你的數據雜亂不堪,還有相當多的數據完全無用,但是說服業務代表重建數據庫會嚇哭他們的,因為這需要幾百萬美元,而且看起來并不必要。你當然可以直接向他們撒謊,草草裝配一個隨機數生成器,說不定提供給他們的數據還比他們知道得要準確一點。但和數據打交道的人可不習慣撒謊,因為這和他們的基本目標——盡可能地精確背道而馳。那么你會怎么做?
現在我得戴上我語義布道師的帽子,告訴你應該開發一個語義數據倉庫。你真的應該這么干,它并不沒有那么難,卻能提供一些實實在在的收益。不過我也會說它不是一個魔法般的解決方案。它讓你更容易以易于處理的格式獲取數據(或者有助于查明哪些數據是垃圾,可以直接刪除)。然而,現實是,這并不是一個數據科學問題——這是一個數據品質和本體工程問題。
所以,讓我說得更清楚一點,讓那些穿著執行官的衣服的人也可以理解。你有數據問題。你的數據科學家具備各種有用的工具可以呈上數據分析的結果,然而沒有優質的數據,他們產出的東西完全是無意義的。這不是他們的錯。這是你的錯,你期望酷炫的控制面板能為你贏得一千萬美元的合同的每一天,都是在浪費時間,都是看著錢從你那里流走的一天。
你的工作可不簡單。你需要做的是首先確定你實際需要追蹤的信息,接著花時間和你的數據科學家以及數據本體學家(data ontologist)討論下需要哪些數據。別指望指著一個數據庫,然后數據會魔法般地出現在那里。
數據庫總的來說是讓程序員用來編寫應用的,而不是提供公司內部的深層測度的。坐下來查看下你現在具備的資源,你需要理解那些依賴這些數據庫完成他們的工作的人會非常不情愿給你訪問權限,特別是這些權限可能導致他們擔責的時候。此外,你還需理解大多數數據庫的文檔都很糟糕(這已經算好的了,其實大多數數據庫根本沒有文檔),因此需要基于隱晦的參考進行偵破。這稱為病理計算,大多數程序員都討厭干這個,因為這意味著猜測其他程序員的大腦,這些程序員很可能已經離職了,水平不明,忘記了十年寫的東西是什么意思。
關系數據湖(relational data lake)并沒有解決這個問題。數據湖解決的問題是讓同一個主機可以訪問所有數據。對于病理計算而言,這是必要的部分,但它既不是最難的部分,也不是最昂貴的部分。最昂貴的部分是搞明白數據到底意味著什么,甚至僅僅是識別出分散的數據集談論的同一件事。這一問題沒有現成的解決方案,如果任何人告訴你有,那他們在忽悠你。
我要再一次植入語義方案的廣告——graph triple store、RDF、ontology management等等。這些不是開箱即用的解決方案,卻是使病理分析得以實行的工具,并能將管理這些過程的手段交到程序員手中。
然而,你需要理解,這一切經常需要你重新思考數據流的整個流程,理解在一開始如何捕獲信息并及早傳入合適的管道。它需要你的程序員和數據庫管理員放棄部分自治,基于一個中央化的聯合存儲工作。它也意味著你作為執行官需要更熟悉數據管理和數據來源。
對大多數商業人員而言,這都是一個相當激進的轉變,比讓部分商業人員做一些IT工作要激進得多。然而,今天的商業正在轉變(大部分已經轉變)為碰巧銷售貨物或服務的數據管理公司。比起管理銷售,今天的CEO的角色需要更多地關注所在組織的數據輸入和輸出,確保數據的品質盡可能好。這并不僅僅是為了應對合規性要求,而是因為數據的完整性對這些公司在市場上的成功至關重要。
這意味著你需要和你的執行數據團隊確定你需要知道和想要知道的信息的范圍,以及哪些信息是無關的,然后確立必要的流程收集和商業需求相關的數據。直接指向數據庫的一個接口,提取它的內容,除了增加磁盤存儲開銷外毫無影響,雇傭數據科學家分析垃圾數據只會產生垃圾分析。如果你在意的話,它可能很美觀,充斥著梯度和3D特效,但毫無作用。
-
數據收集
+關注
關注
0文章
72瀏覽量
11248 -
機器學習
+關注
關注
66文章
8453瀏覽量
133143
原文標題:為什么你不需要數據科學家
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
kintex產品架構設計文檔(成為架構師也是電子人不錯的選...
后臺架構師-JAVA
架構師的能力鍛煉
好的架構師為什么是出色的程序員
女性會更適合做架構師?
怎樣成為軟件架構師
開發工程師和架構師的區別
什么是 SoC 設計中的系統架構師?
![什么是 SoC 設計中的系統<b class='flag-5'>架構師</b>?](https://file.elecfans.com/web2/M00/53/8C/pYYBAGLOs5yAHr1_AAKF_Xb8Rwg448.jpg)
評論