全文共1571字,預計學習時長7分鐘
圖源:unsplash
最近Oracle在雲服務中添加了一項新服務:數據科學。該服務作為一個預安裝了許多庫的平台提供給用戶。這個平台提供許多功能,例如原型開發,項目開發,模型管理以及生成生產模型,還增加了許多新功能。其中最有趣和實用的功能就是自動機器學習功能。
自動機器學習功能旨在實現開發機器學習/人工智慧/數據科學項目過程中重要步驟的自動化。下圖是機器學習/人工智慧/數據科學項目開發步驟的可視化操作。
我們使用自動機器學習功能可以自動執行算法選擇,特徵選擇,確定超參數算法。從而減少開發人員在這些部分上花費的時間。此外,自動機器學習基礎架構還可以儘可能地幫助非專家級別的開發人員開發這些步驟。
圖片引用
自動機器學習功能是由三個不同的模塊組成的。
自動特徵選擇:
模型(算法)選擇:
超參數優化:
除了實現自定義工作流程自動化外,自動機器學習基礎架構還可以提高被生成模型的質量和性能,並且工作流程中所有步驟的運行和評估都是同時進行的。
處理分類和回歸問題時,能成功實踐自動機器學習基礎架構。
以下示例是應用程式的基礎架構,工作方式以及生成結果的過程。
首先,現在只能使用Oracle數據科學雲服務的雲基礎架構,使用此基礎架構,需要導入ADS(數據科學加速)包。該軟體包只安裝在OCI數據服務內部,沒有在外部安裝。ADS是Oracle雲服務提供的軟體包,其中還包括解決人工智慧/機器學習/數據科學工作中產生的所有負載需求的方法。
圖源:unsplash
筆者將以一個數據集作為示例。它是Sklearn中的鳶尾屬植物數據集,首先,導入必要的資料庫並加載該數據集。
from sklearn import datasets
import numpy as np
from ads.automl.driver import AutoML
from ads.automl.provider import OracleAutoMLProvider
from ads.dataset.factory import DatasetFactory
iris = datasets.load_iris()
df = pd.DataFrame(data= np.c_[iris['data'],iris['target']],columns= iris['feature_names'] + ['target'])
使用自動機器學習功能需要將pandas數據框轉換為ADS數據框。整個過程非常快捷。
1
ml_engine = OracleAutoMLProvider()
train = DatasetFactory.open(df).set_target('target')
將數據框架轉換為ADS數據框架後。接下來發送獲得的數據集至自動機器學習方法。自動機器學習大致等待著我們的算法列表。該算法列表可以被視作以下列表中編寫的算法的組合。
· AdaBoost分類器
· DecisionTree分類器
· ExtraTrees分類器
· KNeighbors分類器
· LGBM分類器
· 線性分類支持向量機
· 邏輯回歸
· RandomForest分類器
· 支持向量機
· XGB分類器
automl= AutoML(training_data=train,provider=ml_engine)
model,baseline = automl.train(model_list=[
'LogisticRegression',
'XGBClassifier',
'SVC'], time_budget=600)
在自動機器學習功能中確定的另一個參數是time_budget參數。此變量用於設定自動機器學習方法運行時間的上限。在上面的示例中,我們看到的是將600秒(10分鐘)作為時間限制。該方法一般在600秒(10分鐘)內將結果返回給我們。
圖源:unsplash
切記!可以通過延長time_budget變量來嘗試不同的組合。除了time_budget變量外,還可以在自動機器學習方法中給定min_features參數。有了此參數,就可以確定在要生成的模型中使用特徵數量的最小值。此參數可以是數字int或float變量,也可以是要列出的屬性名稱列表。
看一下從自動機器學習功能返回的結果。
訓練完成(4.11秒)
正如上圖所示,最佳算法SVC(支持向量分類器),最佳功能集[sepal_length_(cm),sepal_width_(cm),petal_length_(cm),petal_width_(cm)]和最佳超參數('C'):1.0,「 gamma」:0.25,「 class_weight」:None}。可以看到,所獲得的最佳模型的準確度為96.67%。
在人為指定的時間限制內,自動機器學習功能可以嘗試更多組合。它可以在同一輸出中顯示其中的詳細信息。
通過自動機器學習模型輸出的結果也可以單獨訪問。
model.selected_model_params_
model.ranked_models_
automl.visualize_algorithm_selection_trials()
不論是對於非專家級還是專家,自動機器學習基礎架構都是非常有用的基準機制。
留言點贊關注
我們一起分享AI學習與發展的乾貨
如轉載,請後台留言,遵守轉載規範