使用開源 AutoML 庫 AutoGluon 進行機器學習

2021-02-15 機器AI學習 數據AI挖掘
想了解更多好玩的人工智慧應用,請關注公眾號「機器AI學習 數據AI挖掘」,」智能應用"菜單中包括:顏值檢測、植物花卉識別、文字識別、人臉美妝等有趣的智能應用。。

如果您從事數據科學工作,您可能會認為機器學習最難的一點是不知道您何時能夠完成。首先您有一個問題,然後構建數據集,接著構想如何解決問題,但在已然浪費了時間之後,您卻不知道您的方案是否可行。機器學習流程之所以如此艱難,部分原因是存在許多經驗豐富的從業者才知道的最佳實踐。如果您剛剛開始使用數據科學,您可能會花費大量時間踐行一種您認為正確的方法,但是在這之前本來會有一名專家從業者告訴您這個方法是行不通的。


如果您可以將這些最佳實踐編纂成一個簡單易用的軟體包,供所有開發人員使用,會怎麼樣?一個可以自動準備數據集,嘗試不同的機器學習方法並將其結果組合在一起以提供高質量模型的庫 – 所有這些功能由幾行代碼實現?


這是自動化機器學習 (AutoML) 背後的理念,也是 AutoGluon AutoML 庫的設計理念,該庫由 Amazon Web Services (AWS) 在 re:invent 2019 上開源。使用 AutoGluon,您可以訓練最先進的機器學習模型,以進行圖像分類、對象檢測、文本分類和表格式數據預測,而幾乎無需具備機器學習方面的經驗。您可以隨時隨地運行 AutoGluon – 從筆記本電腦或工作站到功能強大的 Amazon Elastic Compute Cloud (Amazon EC2) – 實例,以利用多個內核並更快地獲得結果。


AWS 的 AutoGluon 團隊發表了一篇論文,詳細介紹了 AutoGluon-Tabular 的內部工作原理,這是一種開源 AutoGluon 功能,允許您對來自電子表格和資料庫表格等來源的表格數據集的機器學習模型進行訓練。



AutoGluon-Tabular 論文的位置如下:https://arxiv.org/abs/2003.06505


在本文的上半部分,我


將介紹 AutoGluon-Tabular,並總結該論文中介紹的關鍵創新以及使用 AutoGluon-Tabular 在幕後發生的神奇操作。在本文的下半部分,我將介紹一個端到端代碼示例,說明如何使用 AutoGluon-Tabular 憑藉幾行代碼在數據科學競賽中獲得排名前 1% 的分數,且無需機器學習經驗。


如果您想快速入門並開始學習本示例,請轉到「在下一次數據科學競賽中搶佔先機」部分。演示用的 Jupyter 筆記本可在我的 GitHub 上獲得。


AutoML 的 AutoGluon-Tabular 解決方案


雖然圖像和視頻領域的機器學習應用程式引起了極大的關注,但人們幾十年來一直在將統計技術應用於表格數據(思考電子表格或資料庫中的行和列),以構建預測模型或收集匯總統計數據。大量數據科學問題屬於這一類別,例如,基於庫存和需求數據的銷售預測、交易數據的欺詐檢測以及根據用戶偏好生成產品建議。


本博文將重點介紹 AutoGluon 處理表格數據的功能的子集,我們將其稱為 AutoGluon-Tabular。


AutoGluon-Tabular 讓您可以通過用戶友好型 API 訪問專家數據科學家使用的所有最佳實踐,並且其設計採用以下主要原則:


簡易性:用戶應能夠使用幾行代碼即可訓練分類和回歸模型,並部署它們。

穩定性:用戶應能夠提供原始數據,而無需任何特徵工程和數據操作。

可預測的時間安排:用戶應能夠指定時間預算並在該時間限制下獲得最佳模型。

容錯能力:用戶應能夠在中斷時恢復訓練,並能夠檢查所有中間步驟。


如果您已經是一名數據科學專家從業者,並且想知道 AutoGluon-Tabular 對您是否有用,答案是肯定的。即使對於專家來說,AutoGluon-Tabular 也可以通過自動執行耗時的手動步驟來節省時間 – 處理丟失的數據、手動功能轉換、數據拆分、模型選擇、算法選擇、超參數選擇和調整、集成多個模型,以及在數據更改時重複此過程。


AutoGluon-Tabular 還包括用於多層堆疊集成的新技術,可顯著提高模型的準確性。由於 AutoGluon 完全開源,具有透明度和可擴展性,因此您可以全面了解它在流程的每個階段所做的工作,甚至可以引入自己的算法並將它們與 AutoGluon 一起使用。


AutoGluon API


AutoGluon-Tabular 用戶只需知道如何使用三個 Python 函數:Dataset()、fit() 和 predict()。不要讓 API 的簡潔性欺騙了您 – 在幕後有很多操作發生,AutoGluon-Tabular 代表您努力工作,為您提供高質量的模型。在下一節中,我們將詳細介紹這些函數,並討論它們的不同之處。


第 0 步:啟動您的 Amazon EC2 實例;安裝並導入 AutoGluon。


AutoGluon 可以利用多核 CPU 來加快訓練速度。我建議從 C5 或 M5 系列啟動 Amazon EC2 實例。選擇較高的 vCPU 數量以獲得更快的性能。有關如何啟動實例和訪問實例的簡要指南,請閱讀 Amazon EC2 入門文檔。按照 AutoGluon 網頁上的說明安裝 AutoGluon。在大多數情況下,您應該只能運行 pip install。


要運行 AutoGluon-Tabular,首先告訴 AutoGluon 您感興趣的任務是為表格數據構建預測器。將 TabularPrediction 替換為 ImageClassification 以解決圖像分類問題,替換為 ObjectDetection 以解決對象檢測問題,替換為 TextClassification 以解決文本分類問題。API 的其餘部分保持不變。這使您可以輕鬆地在問題之間切換,而無需重新學習 API。


Python


從 AutoGluon 導入 TabularPrediction 作為任務

複製代碼


第 1 步:加載數據集。


如果您是 pandas 用戶,則可以輕鬆使用 Dataset 函數,這可為您提供類似 pandas 的體驗,這樣您就可以執行一些操作,如刪除變量或加入多個數據集。由於 AutoGluon-Tabular 自動為您管理數據預處理,因此您不需要進行任何數據操作。


Python


data = task.Dataset(DATASET_PATH)

複製代碼


第 2 步:模型擬合。


fit() 函數執行所有繁重的工作,我們將在下一節中介紹這一點。此函數有兩大任務:它研究數據集,然後為訓練做準備,它適合多個模型,並將它們組合在一起以生成高精度模型。


Python


predictor = task.fit(data_train, label=LABEL_COLUMN_NAME)

複製代碼


第 3 步:做出預測。


predict 函數通過新數據生成預測。預測可能導致預測類別和概率的分類問題,或連續值的回歸問題。當您運行 fit() 函數時,將生成多個模型並保存到磁碟中。如果您在以後重新訪問它們,只需使用 load 命令加載預測器並使用它運行預測即可。


Python


prediction = predictor.predict(new_data)

複製代碼


fit() 函數的魔力


將數據集傳遞給 task.fit() 函數時,它會執行兩項操作:數據預處理和模型擬合。現在,我們來了解一下幕後的工作情況。


數據預處理


AutoGluon-Tabular 首先檢查標籤列,並確定您是否存在分類問題(預測類別)或回歸問題(預測連續值)。然後,它將啟動數據預處理步驟,將數據轉換為一種在 fit() 階段將被許多不同的機器學習算法佔用的表格。


在預處理步驟中,AutoGluon-Tabular 首先將每個特徵分類為數字、類別、文本或日期/時間。不能分類的列,如包含非數字信息且不重複(被視為類別)的列,將被棄用,例如用戶 ID。


文本列轉換為 n-gram(連續的 n 項或詞序列)特徵的數值向量;日期和時間特徵轉換為合適的數值。為了處理缺少的離散變量,AutoGluon-Tabular 會創建一個額外的未知類別,而不是輸入(用平均值等代理替換)。在真實的數據集中,由於各種原因(例如數據損壞、傳感器故障和人為錯誤),數值可能會缺失,但這並不意味著沒有任何有趣的東西。將其歸類為未知允許 AutoGluon-Tabular 在用新數據生成預測時處理以前不可見的類別。在模型擬合階段,AutoGluon-Tabular 還執行特定於模型的額外數據預處理步驟。


模型擬合


調用 fit() 函數時,AutoGluon-Tabular 將基於預處理的數據訓練一系列的機器學習模型。然後使用集成和堆疊將多個模型組合起來。


AutoGluon-Tabular 以專門選擇的順序訓練各個模型。首先,訓練性能可靠的模型(如隨機森林),然後逐步訓練需要計算量更大但可靠性更低的模型,如 k 最近鄰。這種方法的好處是可以對 fit() 函數施加時間限制,並將返回在時間限制下可以訓練的最佳模型。利用 AutoGluon-Tabular,可以靈活地決定是無約束地實現最佳精度,還是在特定的成本或時間預算下實現最佳精度。


AutoGluon-Tabular 目前支持以下算法,如果沒有時間限制,可以對所有這些算法進行訓練:


隨機森林

超隨機樹

k 最近鄰

LightGBM 提升樹

CatBoost 提升樹

AutoGluon-Tabular 深度神經網絡


AutoGluon-Tabular 深度神經網絡架構的新穎性


在數據科學界有一種常見誤解,即深度學習方法不能很好地處理表格數據。之所以產生這種想法是因為:在神經網絡中引入了卷積,以便通過權值共享實現平移不變性。此方法對於一維信號、二維或者三維圖像或視頻數據集非常有效,因為這些數據集中的每個信號採樣或像素值本身的預測能力很低。在許多表格數據集應用程式中,每個特徵都具有獨特的重要性,並且比圖像中的單個像素具有更高的預測能力。在這些情況下,前饋或卷積神經網絡架構的性能往往低於基於決策樹的同類架構。


為了解決這些問題,AutoGluon-Tabular 採用了如下圖所示的新型神經網絡架構。實證研究表明,精心設計的神經網絡可以顯著提升準確度,特別是創建與其他模型類型的集成時,我們將在下一節討論這一點。



與常用的純前饋網絡架構不同,AutoGluon-Tabular 為每個分類特徵都引入了一個嵌入層,其中嵌入維數根據特徵中唯一類別的數量按比例選擇。嵌入層的優點是,在被後續前饋層使用之前,為每個分類特徵引入了一個可學習組件。然後,將分類特徵的嵌入與數值特徵連接成一個大矢量,該矢量既饋入一個三層前饋網絡,又通過線性跳接(類似於剩餘網絡族)直接連接到輸出預測。


集成和多層堆疊


將多個模型組合起來,創建一個「集成」,從而相比每個參與者都具有更高的預測準確度,這種想法並不新鮮。集成技術最早的實現可以追溯到 20 世紀 90 年代早期,當時出現了提升法(和 AdaBoost 算法)和自助聚合法 (Bootstrap Aggregation)。這些技術創建了決策樹的集成,這些決策樹是弱分類器(不比隨機猜測強多少)且不穩定(對數據集的變化很敏感)。但是,當許多決策樹組合在一起時,就生成了具有高預測能力的模型,不受過擬合的影響。這些早期成果是許多流行機器學習包的基礎,如 LightGBM、CatBoost 和 scikit-learn 的 RandomForest,這些都在 AutoGluon 中所採用。


如果您想知道是否可以組合 RandomForest、CatBoost、k 最近鄰等的輸出來進一步提高模型準確度,答案是肯定的。有經驗的機器學習從業者已經這樣做了很多年,能夠熟練設計巧妙的方法來組合多個模型。請查看奧託集團產品分類挑戰賽 Kaggle 競賽的獲獎作品。第一名的解決方案包括 33 個模型,再使用這些模型的輸出訓練另外 3 個模型(堆疊),然後進行加權平均。



利用 AutoGluon-Tabular,您不必具備堆疊和集成技術。AutoGluon-Tabular 會自動幫您執行。AutoGluon-Tabular 引入了一種新型的多層堆疊集成,如上圖所示。下面介紹了其工作原理:


基礎層:分別訓練模型擬合部分中描述的多個基礎模型。

Concat 層:將第一層的輸出與輸入特徵連接在一起。

Stacker 層:基於 concat 層輸出訓練多個 stacker 模型。AutoGluon-Tabular 帶來的新穎性在於,Stacker 重用與基礎層完全相同的模型,包括在 stacker 模型中使用其超參數。由於輸入特徵與基礎層的輸出連接在一起,因此 stacker 模型也有機會查看輸入數據集。

加權層:實施選擇的集成方法,即將 stacker 模型引入到一個新的集成中,從而最大程度地提高驗證準確度。


為了確保每個分類器都能看到整個數據集,AutoGluon-Tabular 執行 k-折交叉驗證。為了進一步提高預測準確度和減少過擬合,AutoGluon-Tabular 將對 n 個不同的隨機輸入數據分區重複執行 n 次 k-折交叉驗證。數字 n 的選擇方法是,在調用 fit() 函數時,估計在指定的時間限制內可以完成多少次循環。


AutoGluon-Tabular 和容錯


在生活和數據科學中,事情可能不會按計劃進行。當使用 AutoGluon-Tabular 時,您可能會不小心按下 Ctrl+C,或者遇到電源浪湧,導致您的計算機斷電,或者關閉了所有正在運行的 Amazon EC2 實例,而沒有意識到正在運行訓練作業。出現錯誤以及事情沒有按計劃進行時,您不希望被數據丟失和停滯不前所困擾。AutoGluon-Tabular 為這類情況提供了一些內置保護。


當您調用 fit() 函數時,AutoGluon-Tabular 首先估計所需的訓練時間,如果超出訓練某層的剩餘時間,則跳過該層,繼續訓練下一層。為了確保沒有停滯不前,訓練每個新模型後,會立即將其保存到磁碟。如果確實發生了故障,AutoGluon-Tabular 只要在發生故障之前(或在達到時間限制之前)至少對一個模型訓練了一折(共 k 折),仍然可以進行預測。對於在訓練過程中支持中間檢查點的算法,如基於樹的算法和神經網絡,AutoGluon-Tabular 仍然可以使用這些檢查點生成預測。AutoGluon-Tabular 還可以預測模型在訓練過程的哪個階段會失敗,然後跳到下一階段。


代碼示例:在下一次數據科學競賽中搶佔先機


現在您應該對 AutoGluon-Tabular 的工作方式有了一定的了解,但是數據科學是一門實踐性很強的學科,因此最好的學習方法是進行實踐。


在本節中,我們將介紹一個使用 AutoGluon-Tabular 基於數據集訓練模型的端到端示例,該數據集曾在 Kaggle 上的奧託集團產品分類挑戰賽上使用。執行下面的示例後,您應該能夠取得不錯的成績,在排行榜上可位列前 1%。比賽已經結束,但是您仍然可以提交模型,在公開排行榜和非公開排行榜上佔一席之地。


參賽數據集由代表產品的 20 萬行和代表產品特徵的 93 列組成。產品分為訓練數據集中標籤列指定的 10 類。比賽的目標是根據產品的 93 個特徵預測產品類別。可以在比賽頁面上閱讀有關比賽的更多信息。


先決條件


如果您想在一邊閱讀時一邊運行示例,可以在 GitHub 上獲取演示用的 Jupyter 筆記本。


要下載數據集並將您的分數提交給 Kaggle,請確保進入比賽頁面,單擊「參加比賽」並同意其條款和條件,然後再繼續。


我在 AWS 上的一個 c5.24xlarge EC2 實例上運行了這些示例,整個訓練耗時 2 小時 30 分鐘。c5.24xlarge 是經過計算優化的實例,並提供 96 個 CPU 內核。我選擇了具有大量內核的實例類型,因為許多 AutoGluon-Tabular 算法都是多線程的,可以利用所有內核。下面的屏幕截圖顯示了在訓練(神經網絡訓練)階段在 EC2 實例上使用 htop 命令時的 CPU 使用情況。綠色水平條表示 CPU 內核忙碌。黑色條表示每個內核的利用率不到 100%。平均負載分數 84 表示截取屏幕快照時所有 96 個 CPU 的平均負載。


如果選擇內核數量較少的 CPU 實例,則訓練時間將更長。為了節省成本,請考慮在 EC2 Spot 實例上運行,您可以享受實例價格的折扣,但是可以搶佔這些實例。由於 AutoGluon-Tabular 設計為具有容錯能力,因此當容量再次可用時,您始終可以恢復訓練。



下載 Kaggle CLI


按照 Kaggle API GitHub 頁面上的說明下載 Kaggle CLI。藉助 CLI,您可以輕鬆下載數據集並以編程方式提交預測結果,而無需離開 Jupyter 筆記本。


下載 AutoGluon


按照 AutoGluon 網頁上的說明安裝 AutoGluon。在大多數情況下,您應該可以使用 pip 進行安裝。


入門


以下步驟來自 GitHub 上託管的 otto-kaggle-example.ipynb Jupyter 筆記本。讓我們詳細了解每個步驟。


第 1 步:下載數據集


此步驟假設您已安裝 Kaggle CLI,並且您已同意通過訪問比賽頁面來參加比賽。


Python


dataset = 'dataset'!kaggle competitions download -p {dataset} -q otto-group-product-classification-challenge!unzip -d {dataset} {dataset}/otto-group-product-classification-challenge.zip!rm {dataset}/otto-group-product-classification-challenge.zip

複製代碼


輸出:


Bash


Archive: dataset/otto-group-product-classification-challenge.zip inflating: dataset/sampleSubmission.csv  inflating: dataset/test.csv  inflating: dataset/train.csv

複製代碼


第 2 步:導入 AutoGluon 並檢查數據集


在此步驟中,我們導入一個 TabularPrediction 任務。如果您熟悉 pandas,則會非常熟悉 task.Dataset() 函數,該函數可以讀取各種表格數據文件,並返回類似 pandas 的對象。由於 AutoGluon-Tabular 並不希望您進行任何預處理,因此除了刪除不需要的變量或加入多個數據集之外,您不需要進行大量數據操作。


Python


from autogluon import TabularPrediction as task train_data = task.Dataset(file_path=f'{dataset}/train.csv').drop('id', axis=1) train_data.head()

複製代碼


輸出:


Bash


Loaded data from: dataset/train.csv | Columns = 95 / 95 | Rows = 61878 -> 61878feat_1 feat_2 feat_3 feat_4 feat_5 feat_6 feat_7 feat_8 feat_9 feat_10 ... feat_85 feat_86 feat_87 feat_88 feat_89 feat_90 feat_91 feat_92 feat_93 target0 1 0 0 0 0 0 0 0 0 0 ...1 0 0 0 0 0 0 0 0 Class_11 0 0 0 0 0 0 0 1 0 0 ...0 0 0 0 0 0 0 0 0 Class_12 0 0 0 0 0 0 0 1 0 0 ...0 0 0 0 0 0 0 0 0 Class_13 1 0 0 1 6 1 5 0 0 1 ...0 1 2 0 0 0 0 0 0 Class_14 0 0 0 0 0 0 0 0 0 0 ...1 0 0 0 0 1 0 0 0 Class_15 rows × 94 columns

複製代碼


第 3 步:擬合 AutoGluon 模型


Python


label_column = 'target' # specifies which column do we want to predictsavedir = 'otto_models/' # where to save trained models

複製代碼


predictor = task.fit(train_data=train_data,


label=label_column,


output_directory=savedir,


eval_metric=『log_loss』,


auto_stack=True,


verbosity=2,


visualizer=『tensorboard』)



**fit()** 函數的必需參數是 **train_data** 和 **label**,其餘參數是可選的。在此示例中,我還指定了以下選項:
* `output_directory`:您要保存所有模型和中間步驟的位置。* `eval_metric`:指標 AutoGluon 將用於優化您的模型;有關支持的指標的完整列表,請參見[](https://autogluon.mxnet.io/api/autogluon.task.html#autogluon.task.TabularPrediction.fit)頁面。* `auto_stack`:如果您希望 AutoGluon 利用本文「集成和多層堆疊」部分中所述的堆疊,則此選項為 true。* `verbosity`:值為 0 表示您看不到任何輸出。4 是最高詳細級別。* `visualizer`:如果將此設置為 **tensorboard**,則可以在 [](https://www.tensorflow.org/tensorboard) 上監控訓練進度以進行神經網絡訓練。
輸出:
Bash

複製代碼


Beginning AutoGluon training …


AutoGluon will save models to otto_models/


Train Data Rows: 61878


Train Data Columns: 94


Preprocessing data …


Here are the first 10 unique label values in your data: [『Class_1』 『Class_2』 『Class_3』 『Class_4』 『Class_5』 『Class_6』 『Class_7』


『Class_8』 『Class_9』]


AutoGluon infers your prediction problem is: multiclass (because dtype of label-column == object)


If this is wrong, please specify problem_type argument in fit() instead (You may specify problem_type as one of: [『binary』, 『multiclass』, 『regression』])Feature Generator processed 61878 data points with 93 features


Original Features:


int features: 93


Generated Features:


int features: 0


All Features:


int features: 93


Data preprocessing and feature engineering runtime = 0.36s …


AutoGluon will gauge predictive performance using evaluation metric: log_loss


This metric expects predicted probabilities rather than predicted class labels, so you』ll need to use predict_proba() instead of predict()


To change this, specify the eval_metric argument of fit()


AutoGluon will early stop models using evaluation metric: log_loss


/home/ubuntu/anaconda3/envs/autogluon/lib/python3.7/imp.py:342: DeprecationWarning: Using or importing the ABCs from 『collections』 instead of from 『collections.abc』 is deprecated since Python 3.3,and in 3.9 it will stop working


return _load(spec)


Fitting model: RandomForestClassifierGini_STACKER_l0 …


-0.5691 = Validation log_loss score


27.63s = Training runtime


0.03s = Validation runtime

相關焦點

  • AWS開源AutoML 庫AutoGluon入門
    AutoGluon將這些最佳實踐經驗以AutoML的理念製作成了一個簡單易用的Python包,並於2019年進行了開源,大大降低了數據科學的入門門檻要求。用戶只需知道如何使用三個 Python 函數:Dataset()、fit() 和 predict(),就可以完成絕大部分複雜的模型訓練過程。
  • Auto Machine Learning 自動化機器學習筆記
    其實機器學習的每個步驟都可以向著自動化方向發展,而且自動化的方式又有很多種。機器學習自動化的難點還是在數據清洗和特徵工程這些技巧,至於模型篩選、模型集成和超參數調參已經有比較成熟可用的代碼了。我們的願景是 人人都可以用得起機器學習系統🙂 有沒有很google!2.
  • AutoML:機器學習的下一波浪潮
    —— 李飛飛自動機器學習(AutoML)是將機器學習應用於現實問題的端到端流程自動化的過程。AutoML 使真正意義上的機器學習成為可能,即使對於沒有該領域專業知識的人也是如此。本文介紹了一些流行的 AutoML 框架,這些框架的趨勢是自動化部分或整個機器學習的管道。
  • 讓AI去訓練AI,autoML、autoKeras、auto-sklearn了解一波
    /automl在機器學習自動化方面,谷歌的 AutoML 無疑地位穩固。這邊介紹2個開源解決庫:1 AutoKerashttps://autokeras.comAutoKeras 是一個用於自動化機器學習的開源軟體庫,提供自動搜索深度學習模型的架構和超參數的功能。
  • 使用TF2與Keras實現經典GNN的開源庫——Spektral
    機器之心機器之心報導參與:Racoon這裡有一個簡單但又不失靈活性的開源 GNN 庫推薦給你。Spektral 是一個基於 Keras API 和 TensorFlow 2,用於圖深度學習的開源 Python 庫。該項目的主要目的是提供一個簡單但又不失靈活性的圖神經網絡(graph neural networks,GNNs) 框架。
  • 行業前沿:AutoML會成為機器學習世界的主流嗎?
    雖然兩者存在重疊,但是機器學習只是數據科學工具包中眾多工具之一,它的使用實際上並沒有考慮到所有數據科學任務。例如,如果預測是數據科學任務的一部分,那麼機器學習將是一個有用的組件;但是,機器學習可能根本不適用於描述性分析任務。即使對於預測性任務,數據科學也比實際的預測性建模包含更多的內容。
  • ...2深度學習環境到神經機器翻譯,上手機器學習這些開源項目必不可少
    雖然研究者們在機器學習領域取得了讓人興奮的成果,不過我們仍然處於機器學習發展的早期階段。對於剛接觸機器學習的開發者來講,想要理解什麼是機器學習,首先要搞懂三個部分:輸入、算法、輸出。算法:如何處理和分析數據機器學習算法可利用數據執行特定的任務,最常見的機器學習算法有如下幾種:1.監督學習。監督學習使用以及標註過的和結構化的數據,通過制定一組輸入數據集合所需的輸出,機器可以學習如何識別目標並且映射到其他的學習任務上。
  • 使用Python進行機器學習常用的第三方庫
    使用Python編程就不得不提到它強大的第三方庫,那在我們的機器學習中,我們會使用到哪些第三方庫呢?接下來我為大家進行介紹;NumPy&SciPyNumPy時Python最為基礎的編程庫。這些功能對於機器學習的計算任務時尤為重要的。因為不論是數據的特徵表現,還是參數的批量計算,都離不開更加方便快捷的矩陣和向量計算。而NumPy更為突出的是它內部獨到的設計,使得處理這些矩陣和向量計算比起一般程式設計師自行編寫,甚至是Python自帶程序庫的運行效率都要高很多。需要依賴SciPy則是在NumPy的基礎上構建的更為強大,飲用領域也更為廣泛的科學計算包。
  • 從星際2深度學習環境到神經機器翻譯,上手機器學習這些開源項目必...
    雖然研究者們在機器學習領域取得了讓人興奮的成果,不過我們仍然處於機器學習發展的早期階段。對於剛接觸機器學習的開發者來講,想要理解什麼是機器學習,首先要搞懂三個部分:輸入、算法、輸出。算法:如何處理和分析數據機器學習算法可利用數據執行特定的任務,最常見的機器學習算法有如下幾種:1.監督學習。監督學習使用以及標註過的和結構化的數據,通過制定一組輸入數據集合所需的輸出,機器可以學習如何識別目標並且映射到其他的學習任務上。
  • 如何高效快速準確地完成ML任務,這4個AutoML庫了解一下
    選自TowardsDataScience作者:Andre Ye機器之心編譯編輯:陳萍、杜偉AutoML 是當前深度學習領域的熱門話題通過使用最近的一些方法,比如貝葉斯優化,該庫被用來導航模型的可能空間,並學習推理特定配置是否能很好地完成給定任務。該庫由 Matthias Feurer 等人提出,技術細節請查閱論文《Efficient and Robust Machine Learning》。
  • 2016AI巨頭開源IP盤點 50個最常用的深度學習庫
    3.谷歌推出Deep&Wide Learning,開源深度學習API  2016年6月29日,谷歌推出Wide & Deep Learning,並將TensorFlow API開源,歡迎開發者使用這款最新的工具。同時開源的還有對Wide & Deep Learning的實現,作為TF.Learn應用程式接口的一部分,讓開發者也能自己訓練模型。
  • Oracle 開源 Java 機器學習庫 Tribuo
    近日,Oracle 開源了一個用 Java 編寫的機器學習庫,名為 Tribuo。
  • 中科院計算所開源Easy Machine Learning:讓機器學習應用開發簡單...
    機器之心編譯今日,中科院計算所研究員徐君在微博上宣布「中科院計算所開源了 Easy Machine Learning 系統,其通過交互式圖形化界面讓機器學習應用開發變得簡單快捷,系統集成了數據處理、模型訓練、性能評估、結果復用、任務克隆、ETL 等多種功能,此外系統中還提供了豐富的應用案例,歡迎大家下載使用。」
  • 告別調參,AutoML新書發布
    此外,另一個比較火爆的AI自動化產品OneClick.AI 是 2017 年底出現在市場上的一個自動化機器學習(AML)平臺,其中既包括傳統的算法,也包括深度學習算法。同年,國內也出現了不少相關產品,稱能夠解放算法工程師,讓AI自動化。AutoML 是什麼?
  • 如何高效、快速、準確地完成ML任務,這4個AutoML庫了解一下
    選自TowardsDataScience作者:Andre Ye機器之心編譯編輯:陳萍、杜偉AutoML 是當前深度學習領域的熱門話題。通過使用最近的一些方法,比如貝葉斯優化,該庫被用來導航模型的可能空間,並學習推理特定配置是否能很好地完成給定任務。該庫由 Matthias Feurer 等人提出,技術細節請查閱論文《Efficient and Robust Machine Learning》。
  • 八個面向開發人員的機器學習平臺
    21CTO導讀:軟體開發者現在可以使用以下機器學習平臺和工具作為資源,將機器學習功能無縫集成到自己的系統中。
  • 18個值得收藏的機器學習平臺
    通過使用這些熟悉的語言,這個開源軟體使開發人員可以輕鬆地將預測分析和機器學習應用於各種情況。H2O可在Mac,Windows和Linux作業系統上使用,為開發人員提供分析Apache Hadoop文件系統中的數據集以及雲中的數據集所需的工具。https://www.h2o.ai/2.
  • OpenCV 強大的開源計算機視覺庫
    作為人工智慧的一個子領域,計算機視覺依賴於機器學習甚至深度學習來構建具體的應用。當然其它技術,諸如計算機圖形學、圖像處理、信號處理、傳感器技術以及數學甚至物理在計算機視覺技術中也應用廣泛。如何使用最初的OpenCV使用C語言實現,後來C++逐步加入並成為了OpenCV開發的核心語言。