H2o-automl

提供:Dev Guides
移動先:案内検索

H2O-AutoML

AutoMLを使用するには、新しいJupyterノートブックを起動し、以下に示す手順に従います。

AutoMLのインポート

まず、次の2つのステートメントを使用して、H2OおよびAutoMLパッケージをプロジェクトにインポートします-

import h2o
from h2o.automl import H2OAutoML

H2Oを初期化する

次の文を使用してh2oを初期化します-

h2o.init()

次のスクリーンショットに示すように、画面にクラスター情報が表示されるはずです-

クラスター情報

データのロード

このチュートリアルの前半で使用したのと同じiris.csvデータセットを使用します。 次の文を使用してデータをロードします-

data = h2o.import_file('iris.csv')

データセットの準備

機能と予測列を決定する必要があります。 以前のケースと同じ機能と予測列を使用します。 次の2つのステートメントを使用して機能と出力列を設定します-

features = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width']
output = 'class'

トレーニングとテストのためにデータを80:20の比率で分割します-

train, test = data.split_frame(ratios=[0.8])

AutoMLを適用する

これで、データセットにAutoMLを適用する準備が整いました。 AutoMLは、設定された一定の時間実行され、最適化されたモデルを提供します。 私たちは次のステートメントを使用してAutoMLを設定します-

aml = H2OAutoML(max_models = 30, max_runtime_secs=300, seed = 1)

最初のパラメーターは、評価および比較するモデルの数を指定します。

2番目のパラメーターは、アルゴリズムを実行する時間を指定します。

ここに示すように、AutoMLオブジェクトでtrainメソッドを呼び出します-

aml.train(x = features, y = output, training_frame = train)

xを先ほど作成した機能配列として指定し、yを予測値を示す出力変数として指定し、データフレームを train データセットとして指定します。

コードを実行すると、次の出力が得られるまで5分間待つ必要があります(max_runtime_secsを300に設定します)。

最大ランタイム秒

リーダーボードの印刷

AutoML処理が完了すると、評価した30のアルゴリズムすべてをランク付けするリーダーボードが作成されます。 リーダーボードの最初の10レコードを表示するには、次のコードを使用します-

lb = aml.leaderboard
lb.head()

実行時に、上記のコードは次の出力を生成します-

リーダーボード

明らかに、DeepLearningアルゴリズムは最大スコアを取得しています。

テストデータの予測

これで、モデルのランク付けが完了し、テストデータで最高評価のモデルのパフォーマンスを確認できます。 これを行うには、次のコードステートメントを実行します-

preds = aml.predict(test)

処理はしばらく続き、完了すると次の出力が表示されます。

テストデータ

印刷結果

次の文を使用して予測結果を印刷します-

print (preds)

上記のステートメントを実行すると、次の結果が表示されます-

印刷結果

すべてのランキングを印刷する

あなたがすべてのテストされたアルゴリズムのランクを表示したい場合は、次のコードステートメントを実行します-

lb.head(rows = lb.nrows)

上記のステートメントの実行時に、次の出力が生成されます(部分的に表示されます)-

印刷ランク

結論

H2Oは、特定のデータセットに異なるMLアルゴリズムを適用するための使いやすいオープンソースプラットフォームを提供します。 ディープラーニングを含むいくつかの統計およびMLアルゴリズムを提供します。 テスト中に、これらのアルゴリズムに合わせてパラメーターを微調整できます。 これを行うには、コマンドラインまたは提供されるFlowというWebベースのインターフェイスを使用します。 H2Oは、パフォーマンスに基づいていくつかのアルゴリズムの中でランキングを提供するAutoMLもサポートしています。 H2Oはビッグデータでも優れたパフォーマンスを発揮します。 これは間違いなく、データサイエンティストがさまざまな機械学習モデルをデータセットに適用し、ニーズに合わせて最適なモデルを選択することの恩恵です。