天天看點

小衆精品 | 開發者彈藥庫更新 推薦五個機器學習架構

你可能沒聽過它們,但今天或許會考慮上手。至于那些不同生态、不同程式設計語言的工具——對于高手而言,即便沒有使用需求,借鑒它們的代碼執行也能為自己的産品開發帶來許多靈感。

雷鋒網提醒:順序與重要性無關。

一幫缺乏藝術細胞的資料科學家,在某年某月某天突然心懷恐懼地意識到:可視化是資料科學最關鍵的東西之一,而不僅僅是一個加分項。

這就導緻了 scikit-plot 的誕生。

小衆精品 | 開發者彈藥庫更新 推薦五個機器學習架構

kdnuggests 副主編 matthew mayo 表示:

“我注意到 scikit-plot,是因為在 reddit 上看到了它的作者的發帖,随後幾乎立刻便上了手。” 

該項目旨在為 scikit-learn 使用者提供一系列标準、實用的圖表。這包括:

elbow plots feature importance graphs pca projection plots roc curves silhouette plots

scikit-plot 庫有兩個 api,其中一個與 scikit-learn 緊密整合,以控制對其 api 的調用(factory api)。另一個更傳統(the functions api)。但無論哪個都應當足夠你使用。

scikit-feature 是 python 的開源特征選取資源庫,由亞利桑那州立大學的資料挖掘&機器學習實驗室開發。它基于 scikit-learn、numpy 以及 scipy。scikit-feature 内置約 40 個常見特征選取算法,包含傳統算法以及一些結構式、流式的特征選取算法。

所有的特征選取方案,都有一個共同目标:找出多餘、不相關的特征。這是一個相當熱門的研究領域,對此有無數算法。

一名為 rubens zimbres 的資料科學家曾如是說:

“在積累了經驗,嘗試了堆疊神經網絡、并行神經網絡、asymmetric configs、簡單的神經網絡、多層、dropout、激活函數等各種東西之後,我得出了一個結論:論效果,什麼都比不上好的特征選取。”

smile (statistical machine intelligence and learning engine) 是一個快速、全面的機器學習系統。受益于先進的資料結構與算法,smile 有最一流的性能。

smile 覆寫了機器學習的方方面面,包括分類、回歸、聚類、關聯規則挖掘、特征選取、流形學習(manifold learning,)、多元尺度分析(mds)、遺傳算法、missing value imputation、最鄰近搜尋等等。

小衆精品 | 開發者彈藥庫更新 推薦五個機器學習架構

對于使用 java 和 scala 的開發者,目前來看,smile 是最合适的機器學習庫。你可以把它看作是一個 jvm scikit-learn。該項目有非常全面的官方教程,位址: http://haifengl.github.io/smile/。該教程不僅覆寫了 smile 使用技巧,還是很高品質的機器學習算法入門資料。

如果你用 jvm 開發機器學習,smile 絕對值得一試。事實上,如果你身在這個生态系統卻沒聽過  smile,才是一樁奇聞。

gensim 是一個針對話題模組化、檔案索引、在大語料庫中進行相似性檢索的 python 算法庫。目标閱聽人是自然語言處理和資訊檢索社群。

gensim 是個以完整性為目标的多面手。其開發團隊稱,它為“常見算法提供了高效的多核執行,比如 latent semantic analysis (lsa/lsi/svd), latent dirichlet allocation (lda), random projections (rp), hierarchical dirichlet process (hdp) 或 word2vec 深度學習。”

小衆精品 | 開發者彈藥庫更新 推薦五個機器學習架構

deepmind 在部落格中表示:

“對于 tensorflow 而言,自從其在 2015 年末開源,一個由衆多進階算法庫組成的多樣生态系統,便已圍繞着它迅速發展起來。這些進階工具,允許常用任務以更簡便、更快的方式完成,極大節省了開發者的時間精力。  作為該生态的新成員,sonnet 也是如此。它與現有的神經網絡算法庫有許多共同點,但部分功能專為 deepmind 的研究需要而設計。”

sonnet 是基于 tensorflow 的進階算法庫。deepmind 承認了它與一些現有産品比較類似,但整合了 deepmind 研究所必須的功能與特性,比如允許特定子產品在随機聚集的 tensor 群組上運作:

“rnn 的狀态,最适合于以異構 tensor 集合來表示,用扁平清單來表示它們很容易會導緻錯誤。sonnet 提供了處理這些随機等級結構的功能,是以改變你的試驗,使用另一種 rnn,并不需要繁冗地修改代碼。deepmind 已經對核心 tensorflow 做了修改,以更好地支援這一使用情況。”

最後,希望本文能夠對你産生幫助。讓你知道一些此前沒聽說過的算法庫,或者你并沒有意識到自己其實需要的功能。

本文作者:三川

繼續閱讀