Categories
程式開發

現代數據科學家的“忍者“技能


突然間,數據科學家成了“香餑餑“。江湖傳言,剛畢業的人工智能博士起薪 50 萬,2 年經驗的薪水 100 萬以上,貌似一當上數據科學家,分分鐘就能實現財富自由……屏幕前的你,是不是躍躍欲試?如果你想成為一名數據科學家,那麼本文將會給你介紹真正的數據科學家必需的所有技能。

用外行人的話來說,火箭專家就是一個具有火箭科學知識(並在火箭科學方面具有驚人經驗)的人。要成為一名數據科學家並不難。 (我說的不難,並不是說每個小孩都可以擔任數據科學家。要知道,成為一名噴氣式飛行員並不需要掌握火箭科學方面的知識,但仍然也需要付出很多努力。)

現代數據科學家的“忍者“技能 1

在和 Linkedln 上的許多數據科學家進行交流之後,我寫下了這篇文章,收集了其他人 30 多年的經驗。在本文中,你將會發現數據科學家很多令人驚嘆的經歷。

讓我們來看看,如果要成為一名數據科學家,都必須掌握哪些所需的技能。

1. 數學與統計學

1. 機器學習

各種機器學習技術的的知識,就好比任何數據科學家的“心臟“一樣。很難想像,會有這樣的數據科學家,居然沒有機器學習方面的知識。大多數公司要求機器學習工程師至少具備 3~5 年的基礎經驗,之後,才有資格成為任何組織的數據科學家。

在人工智能項目中,機器學習工程師就是“萬事通”。萬事通意味著,對問題定義、數據分析、結果展示和測試都有透徹的理解。它包括了從預處理到選擇合適的算法來解決問題,再到以出色的可視化方式來展示結果的方方面面。整個過程都要靠你自己動手,因為你既是開發人員,又是分析人員,同時還是測試人員。

所以基本上,你需要擁有機器學習的“超能力”。

雖然你不必親自編寫每一行代碼,但是理解機器學習是很重要的。

2. 統計建模

統計學在數據科學家的工作中起著非常重要的作用。僅僅是編寫機器學習算法的代碼這一項,你就必須對數據進行更多的分析。最後,經過充分預處理的數據可能意味著你的項目已經完成了一半。

你需要對評估矩陣,以及一些參數,如正確率、錯誤率、精確度、召回率、F1 分數和其他術語有一個基本的理解,才能完成你的任務。對概率和統計有著超強理解的人可以像數據科學領域的國王一樣統治世界。

3. 貝葉斯推斷

貝葉斯理論是數據分析領域中最重要的理論。數據革命始於貝葉斯理論。掌握貝葉斯理論的基礎知識,將會使你在數據科學競賽中所向披靡,勢如破竹。掌握這一理論,你才能夠輕鬆地從其他競爭對手中脫穎而出。

4. 有監督學習和無監督學習

如果數據科學家沒有監督算法知識,就好比沒有球的足球運動員。試想,如果一場足球賽中,球員在沒有球的情況下進行比賽,會是什麼樣子?兩個字:愚蠢。同理,如果數據科學家沒有掌握有監督算法和無監督算法的知識,也是一樣的情景。

現代數據科學家的“忍者“技能 2

有監督算法包括線性回歸、邏輯回歸、樸素貝葉斯線性判別分析、決策樹、K- 最近鄰算法、支持向量機、神經網絡(多層感知器)等。

無監督算法包括層次聚類、K- 均值、混合模型、 DBSCAN、OPTICS 算法、主成分分析等等。

5. 優化

優化是一項不為多數人所能掌握的技能。這是使你有別於其他開發人員的關鍵因素。訓練模型並不很重要,但是,創建一個優化版本的模型需要進行大量的工作。超參數每天都會讓你頭疼,如果你對優化有著完美的理解,對你來說,優化就像進行一場沒有任何障礙的比賽。因此,要成為一名“英雄“,就要優化你的優化技能。

2. 編程與數據庫

1. 計算機科學基礎

計算機科學技能是很少有人能掌握的。但我有很多熟人,他們都是專業的機械工程師。他們開始學習 Python,然後轉入數據科學領域。你會驚訝的發現,他們的表現就像冠軍一樣。

但是,計算機科學概念對數據科學家的角色來說,是非常重要的要求。如果你能夠掌握算法、操作系統、Web 開發和設計、計算機網絡的基礎知識將會帶來很大的不同。掌握這些概念,將會使你的速度提高十倍。

2. 腳本和編程語言

如果沒有 Python、R 或 MatLab 這樣的腳本或編程語言,就不可能想像數據科學家的生活會是什麼樣子的。如果你沒有掌握這些腳本或編程語言中的任何一個,那麼就請你自己出局吧。沒有花花草草的話,你就永遠不會有一座花園。你能想像沒有花花草草的花園是什麼樣子的嗎?試想一下,那不是花園,那是沙漠。而你必須在沙漠裡耕作。這怎麼可能呢?你不僅需要了解 Python,還需要了解一些更高級的庫,如 TensorFlow、PyTorch、帶 MatplotLib 的 Keras、Numpy 和 Pandas。

因此,在腳本和編程語言方面,沒有妥協的地方。就像 NO NO NO NO NO NO。就是這樣!

現代數據科學家的“忍者“技能 3

3. 數據庫 SQL 和 NoSQL

每個項目都有自己的數據和存儲格式。全面了解各種數據庫,可以幫助你理解和定義項目特有的問題。

數據可以是任何形式的。你只需接受這些數據就可以了。你不能對客戶說,“不行,我想要不同格式的數據。”記住,你的職責就是將數據轉換成所需的算法輸入,並對其進行預處理。數據科學界指出,粗略的數據會降低正確性,但大量的非結構化數據會帶來意想不到的結果。但這需要創新的想法來解決。這時候,如果你掌握不同數據庫的知識,將有助於你解決問題。它可以是結構化的、非結構化的、圖像、文本、音頻或者其他東西。

4. 將數據轉換為可視化

可視化是一件令人驚嘆的事情,你可以用數據來做。當你感受到可視化的重要性時,你就會從內部感受到數據。可視化是展示結果的最佳方式。在演示中不用說一句話,你的老闆就會明白一切。因此,它是數據科學領域取得成功的關鍵。

5. 數據科學工具知識

不同工具的指令就像在比賽中使用特斯拉賽博皮卡一樣。當然,你也可以用“塔塔 Nano“(印度生產的全球最便宜的汽車)完成一場比賽,但是,這值得去完成一場比賽嗎?明智地使用任何工具也是一項技能。所有的工具都可以在互聯網上找到,但你必須能夠正確地使用它。

像 Tableau、SAS、Apache Spark、Excel、RapidMiner、KNIME、QlikView 這樣的工具,可以提高你的效率並縮短項目期限。

現代數據科學家的“忍者“技能 4

6. 雲計算

對雲計算的了解並不是必須的,但可以作為一種資產。一些內置的庫和服務可以很好地使用,比如,Google MLKit、Google Colaboratory、Kaggle 服務器、IBM Watson 和其他 API、Microsoft Azure AI 工具包和 AWS 存儲。

至此,全部技術細節我都講完了。

但是,你仍然對如何成為一名數據科學家一無所知。

3. 領域知識和軟技能

1. 對業務充滿熱情

數據科學家也經常從業務角度考慮問題,因為歸根結底,什麼才是最重要的呢?錢。是的,我再說一次,錢!

你必須有很強的業務策略。它會提升你在組織中的價值,最重要的是你的名聲。作為數據科學家,有一個關於業務視角的想法是很好的。

2. 對數據充滿好奇心

優秀的數據科學家具備根據自己的經驗以不同的方式看待數據的技能。數據科學家能看到的東西,初級工程師往往看不到,是因為數據科學家有經驗的“放大鏡“和驚人的才能。所以,數據很能說明問題。作為一名數據科學家,你只需仔細聆聽。

3. 問題解決能手

人工智能是沒有人能夠做到完美境界的領域。你可以面對很多挑戰,只要你能夠跳出框框想問題即可。從字面上來看,解決問題就需要跳出框框來思考。你身邊有個解決方案,但你只需將它放入你的腦海中,它就會解決你的問題。

4. 戰略決策者

作為一名數據科學家,在某些階段,你必須更上一層樓,因為,在完成某些任務後,你將會意識到,使用另一種技術,可以更輕鬆的完成這項任務。因此,要運用一些腦力和技巧來做決定。只需繼續使用基本的解決方案,然後再回來應用一些高級版本即可。

4. 溝通

1. 與高級管理層接觸

這完全是關於人脈關係網、人際交往技巧和個人能力的問題。一分耕耘,一分收穫。這就像是你的數據科學職業競賽中的強力助推器。與機構接觸,他們會在組織需要的時候幫助你。與上級保持良好的溝通,可以讓你及時了解即將進行的項目。提前做好準備是最好的​​表現方式。

2. 講故事的技巧

作為數據科學家,你必須參加很多會議,從董事會到客戶,再從首席技術官到許多其他人。因此,如果不給他們展示代碼的話,你就必須給他們解釋一個場景。因此,只要展示你的魔力,人們就會認為你是天使。只要把故事講好,你就可以睡個好覺了。

3. 了解人工智能的最新趨勢

要隨時了解市場上的最新趨勢和技術。這會讓你成為一個積極的領導者。在這個技術時代(21 世紀),只有積極的領導者才能統治世界。

如果你擁有這些技能,那麼你就是這個競賽的冠軍。這可是神一般的水平啊!

現代數據科學家的“忍者“技能 5

作者介紹:

Khush Patel,人工智能愛好者,機器學習工程師,Facebook 人工智能學者、發明家。

原文鏈接:

https://towardsdatascience.com/ninja-skills-of-modern-data-scientist-621622e59614