1. 程式人生 > 實用技巧 >7個開源資料科學專案

7個開源資料科學專案

作者|PRANAV DAR
編譯|VK
來源|Analytics Vidhya

概述

  • 開源資料科學專案會給你的簡歷增加很多價值,幫助你在面試中脫穎而出

  • 這裡有7個開源資料科學專案

介紹

我要給你一個建議。我希望在我開始資料科學職業生涯的時候曾有人給過我這個建議。

當我在資料科學中穿越充滿障礙的旅程時,我認為具備所有的條件(或者我認為是這樣的),但似乎有些事情不對勁。我經歷了一番掙扎才找到我的缺陷。

我提出的與面試官期望的差距在於資料科學專案的經驗。

資料科學專案給你的簡歷增加了很多價值,特別是如果你是個初學者。大多數新人都會獲得認證證書,但增加開源資料科學專案將使你在競爭中獲得顯著優勢。

相信我,開源資料科學專案數量多到驚人。

在這裡,我列出了6月份建立或釋出的頂級開源資料科學專案列表。這是我每月專案系列的一部分,在這個系列中,我展示了GitHub上開源的最佳資料科學專案。

我根據專案領域將其分為三類:

  • 機器學習

  • 計算機視覺

  • 其他開源資料科學專案,其中包括一個很棒的資料集

讓我們分別看一下每個類別。

開源機器學習專案

這些機器學習的專案。我們將在這裡介紹與機器學習相關的三個有用的開源專案。你可以根據自己的興趣選擇一個專案,也可以嘗試所有專案。

我試著讓它們儘可能多樣化,你可以看到一個關於機器學習論文的專案和另一個建立機器學習管道的專案。

帶插圖和註釋的機器學習論文

連結:https://github.com/Machine-Learning-Tokyo/papers-with-annotations

對於大多數專業人士來說,閱讀機器學習研究論文是一個令人望而生畏的前景,更不用說初學者了。

資料科學家和機器學習研究人員傾向於撰寫技術含量極高的論文,即使是專家也很難解讀。這實際上是我們領域最大的痛點之一。

因此,任何打破複雜性的努力都是受歡迎的。這個有用的專案是一個數據科學和機器學習論文的集合,“包括插圖、註釋、術語和先前研究的簡要說明,這使得閱讀論文和獲得主要思想更容易”。

這個專案上週剛剛在GitHub上開源,所以它會定期更新。現在我們已經可以看到一些論文了,這樣你就可以通過它們來了解註釋是如何完成的。我特別喜歡YOLOv1的註釋:

很酷!繼續探索這篇論文和其他論文。有很多東西要學!

NeoML,一個機器學習框架

連結:https://github.com/neoml-lib/neoml

對於任何一個有點資料科學知識的人來說,這是一個非常有趣的專案。

NeoML是一個全面的機器學習框架,它使我們能夠構建、訓練和部署機器學習模型。

簡而言之,我們可以建立一個端到端的機器學習管道,而不必為現成的解決方案花費大筆資金。

資料科學家和資料工程師可以將其用於計算機視覺和自然語言處理(NLP)任務,如影象預處理、分類、文件分析、OCR以及從結構化和非結構化文件中提取資料。

以下是我從GitHub儲存庫中獲取的NeoML的關鍵特性:

  • 支援100多種層型別的神經網路

  • 傳統機器學習:20+演算法(分類、迴歸、聚類等)

  • 支援快速CPU推理

  • ONNX支援

  • 語言:C++、java、Objective-C

  • 跨平臺:相同的程式碼可以在Windows、Linux、macOS、iOS和Android上執行

谷歌機器學習的Caliban

連結:https://github.com/google/caliban

這是傾向於研究的資料科學家都會喜歡的專案。我們常常很難從測試環境過渡到全面部署,這不是一個容易的步驟。

當然,Google有一個以Caliban的形式為我們提供的潛在解決方案。

這是一個工具,將幫助你在一個孤立的,可重複的計算環境中啟動和跟蹤你的數值實驗。Caliban是由谷歌的機器學習研究人員和工程師開發的。

正如他們所說,Caliban“使得從一個在工作站上執行的簡單原型到在雲端執行的數千個實驗性工作變得容易”。以下是你應該注意的要點:

  • 在本地開發實驗程式碼,並在隔離(Docker)環境中測試它

  • 掃描實驗引數

  • 提交你的實驗作為雲作業,它們將在相同的隔離環境中執行

  • 控制並跟蹤工作

開源計算機視覺專案

我對我們在計算機視覺領域所取得的進步感到驚訝。似乎每個月當我坐下來寫這篇文章的時候,我都會遇到越來越多的突破性的框架和新的方法來提升這個領域的最新水平。

組織機構正在全球範圍內搜尋計算機視覺人才,所以現在正是從事這些專案並進入該領域的大好時機。

Genetic Drawing

連結:https://github.com/anopara/genetic-drawing

如果我給你一個目標影象,然後讓你寫一個計算機視覺程式從頭開始建立這個影象呢?是的,這就是計算機視覺的力量!

這個非常酷的開源專案使我們能夠在獲得目標影象時模擬繪圖過程。下面是一個小的演示過程:

我迫不及待地想嘗試這個專案。你需要以下Python庫來執行它:

  • OpenCV 3.4.1
  • NumPy 1.16.2
  • matplotlib 3.0.3

開發人員還給了我們一個例子,這樣你就可以執行它,並觀看計算機視覺的魔力。

PULSE

連結:https://github.com/tg-bomze/Face-Depixelizer

這個開源專案迎合了稍微更高階的資料科學家。

為了理解這個專案的意義,我們需要掌握單影象超解析度的概念。簡單地說,這裡的目的是從相應的低解析度輸入構建一個高解析度影象。

聽起來像是一個經典的計算機視覺專案!

PULSE是這個問題陳述的一個新的解決方案。“通過潛在空間探索進行照片上取樣”的簡稱,PULSE以難以置信的高解析度生成高解析度和超現實影象。這是以一種完全自我監督的方式完成的。

下面是一個PULSE如何工作的示例:

我建議你在閱讀程式碼之前先閱讀研究論文。這將使你更好地瞭解PULSE的工作原理,這樣你就可以更清楚地處理程式碼了。

論文:https://arxiv.org/abs/2003.03808

其他開源資料科學專案

這裡有幾個開源資料科學專案並不完全符合上述兩個類別。這實際上是兩個截然不同的專案——一個面向資料科學的初學者,而另一個則針對強化學習。

你可以挑一個最適合你的專案,開始探索。

PalmerPenguins

連結:https://github.com/allisonhorst/palmerpenguins

這是一個很棒的用於探索和視覺化的資料集

我相信你們大多數人都用過虹膜資料集。實際上,它甚至可能是你用來理解機器學習中分類概念的第一個資料集。我喜歡資料集的理解和探索。

但是使用同一個資料集可能會變得有些沉悶,特別是當你在學習機器學習的來龍去脈時。

Palmenguins是上個月開源的,這個資料集將自己定位為Iris的一個替代品,旨在為資料探索和視覺化提供一個很好的資料集,特別是對於初學者。

以下是你可以想出的視覺化體驗:

我上面提到的連結包含了如何開始探索這些資料的示例。他們甚至提供了關於不同變數的細節。

你可以使用以下程式碼在你的計算機上獲取PalmerPenguins:

# install.packages("remotes")
remotes::install_github("allisonhorst/palmerpenguins")

SlimeVolleyGym

連結:https://github.com/hardmaru/slimevolleygym

這是一個開放原始碼的強化學習專案。

SlimeVolleyGym是一個簡單的健身房環境,用於測試單智慧體和多智慧體強化學習演算法。這是由機器學習領域的傳奇人物hardmaru建立並開源的。

根據他的說法,遊戲的運作方式(他自己用JavaScript建立了遊戲):

這個遊戲非常簡單:代理的目標是讓球落在對方的地面上,導致對手失去生命。每個特工一開始都有五條生命。當任何一個特工失去5條生命,或者超過3000個時間步時,結束。當一個代理人的對手輸了,他會得到+1的獎勵;當他輸了,他會得到-1的獎勵。

你可以直接從pip安裝slimevolleygym

pip install slimevolleygym

結尾

確實有很多專案。和往常一樣,我的目標是儘可能保持專案的多樣性,以便你能夠選擇適合你的資料科學旅程的專案。

如果你是初學者,我建議你從PalmerPenguins資料集開始,因為大多數人現在甚至還沒有認識到它。這是一個先發制人的好機會。

原文連結:https://www.analyticsvidhya.com/blog/2020/07/7-open-source-data-science-projects-add-resume/

歡迎關注磐創AI部落格站:
http://panchuang.net/

sklearn機器學習中文官方文件:
http://sklearn123.com/

歡迎關注磐創部落格資源彙總站:
http://docs.panchuang.net/