建模分析師與演算法工程師的主要區別
大家晚上好,我是新來的實習生小模君,前幾天小智老師給我科普了資料探勘的基礎知識,頗有收穫,於是就趁小天今天有事休假冒個泡跟大家分享一番。
資料探勘,英文名叫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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 幽默:程式設計師與軟體工程師的區別程式設計師軟體工程工程師
- 全棧工程師和架構師的區別全棧工程師架構
- 網路安全工程師和資訊保安工程師的區別!工程師
- 一文了解資料分析師與商業分析師的區別(二)
- 一文了解資料分析師與商業分析師的區別(一)
- 什麼是SRE工程師?SRE工程師和運維有什麼區別?工程師運維
- 資料科學家與機器學習工程師的區別? - kdnuggets資料科學機器學習工程師
- 中國程式設計師與美國程式設計師寫程式碼的區別分析程式設計師
- 20萬到100萬年薪的演算法工程師有什麼區別?演算法工程師
- SOCKS代理與HTTP代理主要區別分析HTTP
- 碼農與程式設計師的區別程式設計師
- 重建模與重構的區別
- 軟體工程師前景分析軟體工程工程師
- 網路工程師和Linux運維工程師有什麼區別?學哪個比較好?工程師Linux運維
- 告訴你架構師與程式設計師的區別在哪裡架構程式設計師
- Java工程師就業前景分析Java工程師就業
- 高階演算法工程師招聘演算法工程師
- 演算法工程師眼中的AI崗位演算法工程師AI
- 一個演算法工程師的學習演算法工程師
- QuickBI助你成為分析師-資料建模(一)UI
- linux網路工程師需要掌握哪些技能?linux網路工程師技能分析Linux工程師
- 嵌入式工程師,你知道.c檔案和.h的區別嗎?工程師
- 資料探勘與資料分析的主要區別是什麼
- [譯] 設計師與工程師協作的 5 項準則工程師
- [ 招聘 | 上海 ] 軟體工程師 / 全棧工程師 / 晶片設計工程師軟體工程工程師全棧晶片
- 設計模式與前端工程師設計模式前端工程師
- 幽默:全棧程式設計師與前後端程式設計師區別全棧程式設計師後端
- 系統管理員與網站可靠性工程師(SRE)對比:區別在那兒?網站工程師
- 程式設計師的定位:『應用型工程師』或『科研型工程師』程式設計師工程師
- 招聘Golang區塊鏈開發工程師Golang區塊鏈工程師
- 趣頭條 Golang開發工程師(偏工程演算法)Golang工程師演算法
- HTTP代理與SOCKS代理的主要區別HTTP
- cv演算法工程師成長路線演算法工程師
- 要做軟體工程師,而不是前端工程師軟體工程工程師前端
- PHP 工程師學 Python 資料型別PHP工程師Python資料型別
- PHP工程師學Python資料型別PHP工程師Python資料型別
- 聊聊與前端工程師天然互補的 Serverless前端工程師Server
- 事件風暴EventStorming與事件建模EventModeling的區別 | rafalmaciag事件ORMMac