【每周一庫】- Rusty-Machine 機器學習庫

2021-02-16 Rust語言中文社區
The rusty-machine

一種拆包即用的機器學習模塊。

結構

這個模塊包括兩個基本模組:學習和線性代數。

學習

這個學習模組包括所有的機器學習模組。包括算法,模組和相關工具。

目前支持的機器學習方法包括:

線性代數

線性代數模組重新導出了一些線性代數庫中的結構體和特徵。這個模組提供了一種使用該庫中常用線性代數的簡便方法。

用法

各個模組的特定用法已經在各模組的特定文檔中說明了,這個部分會著重描述該庫的通用流程。

這個被包括在學習模塊中的模組需要實現 SupModel 或者UnSupModel。它們都會提供 train 和一個 predict 功能,此功能為這個模組提供了接口。

你需要用你選擇的選項將該模組實例化,然後用訓練數據進行訓練,再用測試數據進行預測。目前,交叉驗證,數據處理和其他很多功能需要用戶自己處理。

這裡是高斯過程回歸的一個用法示例:

use rusty_machine::linalg::Matrix;
use rusty_machine::linalg::Vector;
use rusty_machine::learning::gp::GaussianProcess;
use rusty_machine::learning::gp::ConstMean;
use rusty_machine::learning::toolkit::kernel;
use rusty_machine::learning::SupModel;

// 首先獲取一些數據。

// 一些示例訓練數據。
let inputs = Matrix::new(3,3,vec![1.,1.,1.,2.,2.,2.,3.,3.,3.]);
let targets = Vector::new(vec![0.,1.,0.]);

// 一些示例測試數據。
let test_inputs = Matrix::new(2,3, vec![1.5,1.5,1.5,2.5,2.5,2.5]);

// 現在設置好我們的模組
// 這幾乎是rusty-machine 中最複雜的模組了!

// 設置平方指數核函數,長度參數 2,寬度參數 1。
let ker = kernel::SquaredExp::new(2., 1.);

// 零函數
let zero_mean = ConstMean::default();

// 用核函數,平均值, 噪聲0.5來構建一個高斯過程。
let mut gp = GaussianProcess::new(ker, zero_mean, 0.5);


// 現在我們可以訓練並且用這個模組進行預測了。

// 訓練模組!
gp.train(&inputs, &targets).unwrap();

// 使用測試數據來測試預測。
let outputs = gp.predict(&test_inputs).unwrap();

如果我們使用了 let mut gp = GaussianProcess::default();代碼會更為簡單。相反地,你也可以用合適的特徵自定義核函數和平均函數。

你還會注意到代碼最上方有一些 use 聲明。我們可以通過使用 prelude來移除他們:

use rusty_machine::prelude::*;

let _ = Matrix::new(2,2,vec![2.0;4]);

相關焦點

  • Python 機器學習庫 Top 10,你值得擁有!
    ;而又因為大量的機器學習工具庫的出現,使得 Python 在機器學習領域變得如此流行。PyTorch 是在 2017 年推出的,自成立以來,該庫越來越受歡迎並吸引了越來越多的機器學習開發人員。因此,有專門的庫被設計用於快速有效地實現該方法。這些庫包括 LightGBM, XGBoost, 和 CatBoost。這些庫互為競爭對手,同樣使用了幾乎相同的思路來解決一個共同問題。這些庫都提供了高度可擴展,優化和快速的梯度增強實現,使其在機器學習開發人員中很受歡迎。 因為大多數機器學習開發人員通過使用這些算法贏得了機器學習競賽。
  • 8大Python機器學習庫
    正因如此,我們決定推出一系列介紹各領域頂級 Python 庫文章:8大Python機器學習庫X大Python人工智慧庫 - 即將推出,敬請期待X大Python深度學習庫 - 即將推出,敬請期待X大Python數據科學庫 - 即將推出,敬請期待我們的榜單其實非常主觀,有些庫可以納入多個領域,比如, 本文中有 Keras
  • Python機器學習庫(Scikit-Learn, TensorFlow, optional: Pytorch)學習小組
    為滿足廣大學子的要求,特開設Python機器學習庫(Scikit-Learn, Pytorch) 學習小組。適用於有一定統計和機器學習背景,但實戰經驗少的學員。旨在短期(8-9周)內掌握如何應用,選擇合適的機器學習庫實現和測試所需要的算法課程將提供電子書籍和相關code。課程主要以個人學習和主講加討論的形式進行,也歡迎大家旁聽。
  • 最好的Python機器學習庫
    引言毫無疑問,神經網絡和機器學習在過去幾年一直是高科技領域最熱門的話題之一。這一點很容易看出,因為它們解決了很多真正有趣的用例,如語音識別、圖像識別、甚至是樂曲譜寫。因此,在這篇文章,我決定編制一份囊括一些很好的Python機器學習庫的清單,並將其張貼在下面。
  • C++機器學習庫介紹
    C++是我學習過的第一種程式語言,我喜歡在機器學習中使用它。我在之前寫過關於構建機器學習模型的文章。我收到了一個回復,問我C++有沒有機器學習的庫?這是個公平的問題。像Python和R這樣的語言有大量的包和庫來滿足不同的機器學習任務。那麼C++有沒有這樣的產品呢?是的,是的!
  • 常用python機器學習庫總結
    眾所周知現在人工智慧非常的火熱,機器學習也算是人工智慧中的一個領域,在其中有一塊是對文本進行分析,對數據進行深入的挖掘提取一些特徵值,然後用一些算法去學習,訓練,分析,甚至還能預測,我們就來看看python有哪些機器學習庫吧!1.
  • Python語言下的機器學習庫
    這篇文章的目的就是列舉並描述Python可用的最有用的機器學習工具和庫。這個列表中,我們不要求這些庫是用Python寫的,只要有Python接口就夠了。我們在最後也有一小節關於深度學習(Deep Learning)的內容,因為它最近也吸引了相當多的關注。
  • C++機器學習庫介紹 | 文末送書
    C++是我學習過的第一種程式語言,我喜歡在機器學習中使用它。我在之前寫過關於構建機器學習模型的文章,我收到了一個回復,問我C++有沒有機器學習的庫?這是個很好的問題。像Python和R這樣的語言有大量的包和庫來滿足不同的機器學習任務,那麼C++有沒有這樣的產品呢?是的!在本文中,我將重點介紹兩個這樣的C++庫,我們也將看到它們都是可以運行。
  • 25個Java機器學習工具&庫
    本列表總結了25個Java機器學習工具&庫:1. Weka集成了數據挖掘工作的機器學習算法。
  • 機器學習 | 四大常用機器學習Python庫介紹
    點擊下方公眾號,回復資料,收穫驚喜今天這篇我們介紹下Python中常用的機器學習庫(機器(機器學習、深度學習啥的,小編還是建議使用Python進行建模編寫哈),也算是本公號機器學習的第一篇推文,主要內容如下:深度學習常用四大Python庫這一部分我們簡單介紹下Python中的常用的機器學習庫,算是比較入門的介紹哈,具體包括Scikit-learn、Keras、TensorFlow和PyTorch,下面我們就一一簡單介紹:
  • Oracle 開源 Java 機器學習庫 Tribuo
    近日,Oracle 開源了一個用 Java 編寫的機器學習庫,名為 Tribuo。
  • 從理論概念到庫函數語法:機器學習速查表全集
    還有後面常用於最優化的梯度和海塞矩陣的求解方法,該速查表用一階偏導數向量的形式表示了梯度的定義,二階偏導數及其在矩陣中的位置表示了海塞矩陣的定義方式。這兩個都是在最優化如梯度下降和牛頓法中核心的概念。當然機器學習的概念也少不了,比如前面的決策邊界和後面的反向傳播算法公式等。
  • 數據科學和機器學習的最佳Python庫
    數據科學和機器學習是該時代最需求的技術,這一需求促使每個人都學習不同的庫和軟體包以實現它們。這篇博客文章將重點介紹用於數據科學和機器學習的Python庫。這些是您掌握市場上最被炒作的兩項技能的庫。以下是此博客中將涉及的主題列表:數據科學與機器學習導論為什麼要使用Python進行數據科學和機器學習?
  • 機器學習最主流的算法庫sklearn
    「 scikit-learn,簡稱sklearn,是用Python語言開發的機器學習模塊庫,其包含大量的機器學習算法和測試數據集
  • 常用Python機器學習庫有哪些?
    也因為這個原因,很多同學開始了Python機器學習。Python機器學習庫有很多,接下來給大家介紹3個比較受大家歡迎的。1.NumPy當開始處理Python中的科學任務,Python的SciPyStack肯定可以提供幫助,它是專門為Python中科學計算而設計的軟體集合(不要混淆SciPy庫,它是SciPyStack的一部分,和SciPyStack的社區)這樣我們開始來看一下吧。
  • 6大最常用的Java機器學習庫一覽
    AI 前線導讀:機器學習是目前盛行於世的技術之一,這幾年一時風頭無兩。雖然在機器學習中,Python 是人工智慧從業者使用最多的程式語言,但是,Java 在項目開發中仍然發揮著不可替代的作用,而且許多流行的機器學習框架本身就是 Java 編寫的。Python 的資料到處都是,而 Java 相關的資料就相對少了很多。
  • python機器學習:常用庫的介紹及安裝
    現在,隨著人工智慧的興起,機器學習越來越被各行業看重,從而使得人工智慧的需求會越來越大。今天,我們就從零基礎開始學習人工智慧的基礎篇——機器學習。工欲善其事必先利其器,所以,我們首先來看一下,我們要學習這些東西,需要準備些什麼!首先電腦一臺,這是必備的。下面我們來看一下需要安裝些什麼軟體到電腦上!
  • 2020年六大機器學習Python庫!
    外頭有許多類型的python庫可用,本文介紹了一些流行的機器學習庫。1. NumPy:NumPy是一種通用的數組處理軟體包。它提供高性能的多維數組對象和用於處理這些數組的工具。它是用於科學計算的基本Python軟體包。
  • python機器學習之使用scikit-learn庫
    引言數據分析由一連串的步驟組成,對於其中預測模型的創建和驗證這一步,我們使用scikit-learn這個功能強大的庫來完成。scikit-learning庫python庫scikit-learn整合了多種機器學習算法。
  • Python機器學習系列3:一個通用、強大的Python機器學習函數庫
    如果你對Python機器學習感興趣,正在尋找一個強大的Python機器學習庫,那麼本文將強烈推薦scikit-learn,它可以幫助你把機器學習輕鬆應用到生產環境中。本文將會介紹對scikit-learn庫進行基本介紹,並擴展介紹相關常用機器學習資源。