要使用AutoML,請啓動一個新的Jupyter筆記本,並按照以下步驟進行操作。
Importing AutoML
首先使用以下兩個語句將H2O和AutoML包導入到項目中;
import h2o from h2o.automl import H2OAutoML
Initialize H2O
Initiatize H2O using the following statement&UNMIN;
h2o.init()
您應該在螢幕上看到集羣信息,如下面的螢幕截圖所示;
Loading Data
我們將使用本教程前面使用的iris.csv數據集。使用以下語句加載數據−
data = h2o.import_file('iris.csv')
Preparing Dataset
我們需要決定特徵和預測列。我們使用與前面案例中相同的特性和謂詞列。使用以下兩個語句設置features和output列−
features = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width'] output = 'class'
將數據按80:20的比例分割,用於培訓和測試;
train, test = data.split_frame(ratios=[0.8])
Applying AutoML
現在,我們都準備好在數據集上應用AutoML了。AutoML將在我們設置的固定時間內運行,並給出優化模型。我們使用以下語句設置AutoML−
aml = H2OAutoML(max_models = 30, max_runtime_secs=300, seed = 1)
第一個參數指定要計算和比較的模型數。
第二個參數指定算法運行的時間。
我們現在調用AutoML對象上的train方法,如下所示;
aml.train(x = features, y = output, training_frame = train)
我們將x指定爲前面創建的features數組,將y指定爲輸出變量以指示預測值,將dataframe指定爲train數據集。
運行代碼,您將不得不等待5分鐘(我們將max_runtime_secs設置爲300),直到您得到以下輸出&負;
Printing the Leaderboard
當AutoML處理完成時,它會創建一個排行榜,對它所評估的所有30種算法進行排名。要查看排行榜的前10條記錄,請使用以下代碼−
lb = aml.leaderboard lb.head()
在執行時,上面的代碼將生成以下輸出−
顯然,深度學習算法得到了最大的分數。
Predicting on Test Data
現在,您已經對模型進行了排名,您可以在測試數據中看到最高級別模型的性能。爲此,請運行以下代碼語句−
preds = aml.predict(test)
處理將繼續一段時間,完成後您將看到以下輸出。
Printing Result
使用以下語句列印預測結果−
print (preds)
在執行上述語句時,您將看到以下結果&負;
Printing the Ranking for All
如果要查看所有測試算法的級別,請運行以下代碼語句−
lb.head(rows = lb.nrows)
執行上述語句後,將生成以下輸出(部分顯示)&負;
Conclusion
H2O爲在給定數據集上應用不同的ML算法提供了一個易於使用的開源平台。它提供了一些統計和ML算法,包括深度學習。在測試期間,您可以根據這些算法微調參數。您可以使用命令行或提供的名爲Flow的基於web的界面來執行此操作。H2O還支持AutoML,它提供了基於性能的幾種算法的排名。H2O在大數據方面也表現出色。對於數據科學家來說,將不同的機器學習模型應用到他們的數據集上並選擇最適合他們需求的模型無疑是一個福音。