建模分析師與演算法工程師的主要區別

WSH_AI發表於2018-04-12

大家晚上好,我是新來的實習生小模君,前幾天小智老師給我科普了資料探勘的基礎知識,頗有收穫,於是就趁小天今天有事休假冒個泡跟大家分享一番。

資料探勘,英文名叫Data mining,一般是指從大型資料庫中將隱藏的預測資訊抽取出來的過程,而更為精確的解釋則是“從資料中挖掘知識”。

這個概念乍眼一看有點懵,畢竟從資料中挖掘出知識的說法是小模君以前沒有接觸過的。
而就目前而言,資料探勘大致上是可以分為四個層次:純粹資料加工、傻瓜式挖掘、較為自由的挖掘以及演算法拆解和開發。


(一)純粹資料加工

這一層次主要側重於變數的加工和預處理,主要的加工工具就是大家比較熟悉的SQL和SAS base。

從源系統或資料倉儲,對相關資料進行提取、加工、衍生處理,生成各種業務表。緊接著,以客戶號為主鍵,將這些業務表整合彙總出一張大寬表,而這張寬表就是所謂的“客戶畫像”。

(二)傻瓜式挖掘

傻瓜式操作的優點就是讓資料探勘變得入手快且簡單,但是,眾所周知傻瓜式操作必然存在缺陷,比如挖掘的過程會很單調無趣,沒辦法批次運算模型等等。而較為典型的工具有SAS EM和clementine。

這兩種工具已經嵌入了很多較為傳統成熟的演算法、模組和節點(如大家很熟悉的神經網路以及前幾天小天提到的決策樹等)。只需滑鼠的托拉拽,基本上就可以滿足你挖掘資料的需求。

因此,在熟練操作這些工具的情況下,若想進一步提升建議需要拋棄它們。

(三)較為自由的挖掘

在這個層次,典型的工具就是R和Python這兩個開源工具,前者是統計學家開發的,而後者則是計算機學家開發的。

它們不但有較多前沿且成熟的演算法包呼叫,還能對既有的演算法包進行修改調整,以適應分析需求,十分的靈活。此外,Python在文字、社會網路方面的處理,功能比較強大。

(四)演算法拆解和自行開發

到了這一層次,說明你們已經擁有了重新編寫演算法程式碼的能力,比如用自己的程式碼實現邏輯迴歸運算過程,甚至根據業務需求和資料特點,更改其中一些假定和條件,以提高模型運算的擬合效果。

一般而言,大多數人會利用python、c、c++進行演算法拆解和開發。

可以看到,四個層次中出現最多的就是python,因此可以這麼說掌握了python,掌握資料探勘也就不在話下了!


而根據當前網際網路的招聘和對技能的需求來說,當你已經順利度過前三個層次的時候,建模分析師的職位是妥妥的,如果再更進一步到達了第四層次,相信你就是當之無愧的演算法工程師了!

此時,我們最先要做的就是了解資料探勘的大致流程。

(一)資料讀取

既然是叫資料探勘,那麼可以看出資料是重中之重,因此第一步就應該把資料讀取出來。

(二)特徵理解分析

資料讀出來了,但並不代表這些資料都是有用的,因此需要根據資料的特徵進行理解和分析,考慮變數與結果的關係,最後繪圖得出結論,輔助判斷,進而選出有價值的資料。

(三)資料清洗與預處理

選出了有價值的資料就可以馬上建立模型了吧?別想太多,還得先清洗和預處理資料。雖然這一步看似很簡單,但是實際上它是整個資料探勘過程中最耗時的,大概佔了70-80%的時間。

如何對資料進行恰當的處理使得最終能夠獲取最合適的資料是這一步需要解決的。請記住,資料決定了模型的上限。

(四)建立模型

完成了最重要的第三步之後,就可以開始建模了,透過多種演算法的對比以及參考他人的策略進行建模與最佳化,最終得出合適的模型。

基本瞭解完資料探勘的一些基礎知識,但是如何才能掌握資料探勘,成為一名演算法工程師呢?與其自學而苦苦不得入門,還不如跟隨經驗豐富的老師快速提升更為有效。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31530407/viewspace-2152864/,如需轉載,請註明出處,否則將追究法律責任。

相關文章