...
- アクセス可能なH2Oインスタンスを準備するか、新しくセットアップをし、データサイエンスモデルを構築します。
- YellowfinインスタンスへH2Oのプラグインをインストールします。(プラグインは、マーケットプレイスからダウンロードできます。)プラグインのインストール方法は、こちらを参照してください。
- Yellowfinのデータ変換モジュールを使用して、Transformation Flow(データ変換フロー)を作成します。これには、モジュールへのデータのインポート、そして必要に応じたその他変換の適用が必要です。
- フローにH2O Tranformation Step(変換ステップ)を使用し、これを設定します。ステップの設定方法は、以下の情報を参照してください。
- Step(ステップ)を実行し、モデルがデータを使用して生成する出力を確認します。
Step(ステップ)の設定詳細
H2Oステップを設定するためには、有効なURLからH2Oのインスタンスへ接続し、データサイエンスモデルを選択しなくてはいけません。次に、モデルの入力フィールドを設定します。これは、データ変換フローからのデータとのマッピングにより行います。他のデータサイエンスモデル(PMMLなど)の出力の設定とは異なり、出力フィールドの設定をする必要はありません。生成される結果は、モデルの作成時に定義されます。H2O Step(ステップ)を設定するためには、有効なURLからH2Oのインスタンスへ接続し、データサイエンスモデルを選択しなくてはいけません。次に、モデルの入力フィールドを設定する必要があります。これは、Transformation Flow(データ変換フロー)からのデータとのマッピングにより行います。他のデータサイエンスモデル(PMMLなど)の出力設定とは異なり、出力フィールドの設定をする必要はありません。生成される結果は、モデルの作成時に定義されます。
サポートしているモデルのカテゴリー
Yellowfinがサポートするモデルのタイプは、以下に示すように、4つのカテゴリーに分類されます。注意:モデルのカテゴリーを確認するには、H2O内のモデルの「OUTPUT(出力)」項目を参照してください。
サポートしているモデルのカテゴリー
Yellowfinがサポートするモデルのタイプは、一般的に4つのカテゴリーに分類することができます。以下の一覧を参照してください。注意:モデルのカテゴリーを確認するには、H2O内のモデルの出力項目を参照してください。
以下は、各カテゴリーが生成するそれぞれの出力タイプです。回帰:このカテゴリーに属するモデルは、データのすべてのロウ(行)について実際の予測値を生成します。
- 回帰:このカテゴリーに属するモデルは、データのすべてのロウ(行)について実際の予測値を生成します。
...
- 二項式:このタイプのモデルは、すべてのロウ(行)について予測されるクラスのテキストラベルを出力します。
...
- 多項式:(上記に準ずる)
...
- クラスタリング:このようなモデルは、すべてのロウ(行)が属するクラスタのインデックス番号を示します。
モデルの出力の確認
多くの場合、ユーザーはモデルの出力を把握しています。しかし、H2Oのインスタンスからモデルを選択することで、出力を確認し、その設定を把握することができます。例えば、バイナリモデルの場合、出力はモデルのパラメーター内で確認することができます。
モデルの出力のデータ型
...
モデル出力のデータ型
出力カラム(列)のデータ型は、モデル内の設定に応じて異なります。「クラスタリング」と「回帰」のカテゴリーに属するモデルの場合、これは「数値型」になり、他のカテゴリーの場合は「テキスト型」になります。
YellowfinでのH2O.aiの使用
パート1:H2O.aiのセットアップ
H2Oは、予測モデルを使用することのできる、モダンオープンソースAIプラットフォームです。最新バージョンのH2Oは、こちらからダウンロードすることができます。
H2Oは、ローカル端末上で使用することもできますし、URLを通してアクセス可能な公的なスペースで使用することもできます。H2Oは、予測モデルを使用することのできる、モダンオープンソースAIプラットフォームです。最新バージョンのH2Oは、こちらからダウンロードすることができます。:http://h2o-release.s3.amazonaws.com/h2o/rel-weierstrass/7/index.html
H2Oは、ローカル端末上で使用することもできますし、URLを通してアクセス可能な公的スペース上で使用することもできます。
H2Oをローカル端末上で実行するには、以下の手順に従います。
- H2O.aiをダウンロードします。
- ディレクトリへファイルを解凍します。
- ターミナル(Appleターミナル、またはMSDOS)を開き、取得されたフォルダへ移動します。
...
- 「java –jar h2o.jar」からjarを実行します。これにより、H2O.aiサーバーが起動します。
- デフォルトでは、H2O.
...
- aiサーバーは「http://localhost:54321/」で実行されます(適切にセットアップされた場合)。注意:H2OインスタンスのURLや、その他設定をカスタマイズすることができます。
H2O URL
H2Oインスタンスへの接続を確立するためには、インスタンスのURLが必要です。ローカル端末に設定されている場合、これはデフォルト設定()、またはローカルセットアップでも、リモートアクセス(リモートアクセスをする場合は、安定したインターネット接続が必要です)においてもIPアドレスを含む設定()になります。
注意:適切に認識されるために、URLの一部に「httpH2Oインスタンスへの接続を確立するためには、インスタンスのURLが必要です。ローカル端末に設定されている場合、これはデフォルト設定(例:http://localhost:54321)により行われ、ローカルセットアップ、またはリモートアクセスの両方において、IPアドレスを含む設定(http://127.0.0.1:54321)により行われます。(リモートアクセスをする場合は、安定したインターネット接続が必要です)
注意:適切に認識されるために、URLの一部に「http://」を含める必要があります。不適切なURLが提供された場合、変換ステップは機能しません。」を含める必要があります。不適切なURLが提供された場合、Transformation Step(変換ステップ)は機能しません。
パート2:変換フローでのH2Oモデルの使用
こちらの項目は、H2O変換ステップを使用して、Yellowfinへデータサイエンスモデルを統合する方法について説明します。
H2Oでモデルを構築し、これを保存します。
Yellowfinデータ変換モジュールへ移動します。(「作成」ボタン>「データ変換フロー」)
データを取得する入力ステップから、データ変換フローの作成を始めます。(基礎的なフローの作成方法は、こちらを参照してください。また、他のデータの取得方法については、こちらを参照してください)
取得されたデータが、データプレビューパネルに表示されます。さらにデータを変換するために、ステップを追加することもできます。
H2Oインスタンスからデータサイエンスモデルを使用する準備が整ったら、以下の手順に従います。
変換ステップ一覧から、H2Oモデル予測ステップをキャンバスへドラッグします。(注意:こちらのステップが表示されない場合は、H2Oのプラグインがインストールされているかを確認してください)
接続ポイントを使用して、最後のステップをH2O変換ステップへ接続します。
次に、H2Oステップを設定します。(設定画面が表示されるように選択されていることを確認してください)
H2Oインスタンスへのパスをコピーします。(注意:IPアドレスとポート番号が必要です。例えば、今回の例では、下図を参考に、となります。
H2Oへ接続をクリックします。
注意:提供されたURLが不適切な場合や、実行注のH2Oインスタンスが見つからない場合は、以下のようにエラーメッセージが表示されます。
H2Oインスタンスへの接続に成功したら、リンクしているH2Oインスタンス上のすべてのモデルの一覧とともに新しい項目が表示されます。(注意:接続ボタンを使用すると、ステップ設定パンるに変更が表示されるまでに時間がかかる場合があります)
使用するモデルを選択します。
次に、入力ステップをマッピングするために、さらなる設定オプションが表示されます。これらはモデルに固有のものです。
データをモデルに必要な入力カラム(列)をマッピングします。例えば、今回の例では、年齢、収入、性別が必要です。
保存ボタンをクリックします。
ステップの実行に成功すると、データプレビューパネルに、「H2Oモデル結果」、という新しいカラム(列)が、モデル出力とともに表示されます。こちらに表示される結果は、モデルのタイプに応じて異なります。
さらなる変換を行うこともできますし、結果をデータベースへ保存することもできます。
...
パート2:Transformation Flow(変換フロー)でのH2Oモデルの使用
こちらの項目は、H2O Transformation Step(変換ステップ)を使用して、Yellowfinへデータサイエンスモデルを統合する方法について説明します。
- H2Oでモデルを構築し、これを保存します。
- Yellowfinのデータ変換モジュールへ移動します。(「作成」ボタン>「Transformation Flow(データ変換フロー)」)
- データを取得するInput Step(入力ステップ)から、Transformation Flow(データ変換フロー)の作成を始めます。(基礎的なフローの作成方法は、こちらを参照してください。また、他のデータの取得方法については、こちらを参照してください)
- 取得されたデータが、データプレビューパネルに表示されます。さらにデータを変換するために、Step(ステップ)を追加することもできます。
- H2Oインスタンスからデータサイエンスモデルを使用する準備が整ったら、以下の手順に従います。
- Transformation Step(変換ステップ)一覧から、H2O Model Prediction Step(モデル予測ステップ)をキャンバスへドラッグします。(注意:こちらのStep(ステップ)が表示されない場合は、H2Oのプラグインがインストールされているかを確認してください)
- Connection(接続)ポイントを使用して、最後のStep(ステップ)をH2O Transformation Step(変換ステップ)へ接続します。
- 次に、H2O Step(ステップ)を設定します。(設定画面が表示されるように選択されていることを確認してください)
- H2Oインスタンスへのパスをコピーします。(注意:「IPアドレス」と「ポート番号」が必要です。)例えば、今回の例では、下図を参考に、http://10.0.11.166:54321となります。
- 「Connect to H2O(H2Oへ接続)」をクリックします。
注意:提供されたURLが不適切な場合や、実行中のH2Oインスタンスが見つからない場合は、以下のようにエラーメッセージが表示されます。 - H2Oインスタンスへの接続に成功したら、リンクしているH2Oインスタンス上のすべてのモデルの一覧とともに新しい項目が表示されます。(注意:接続ボタンを使用すると、Step(ステップ)設定パネルに変更が表示されるまでに時間がかかる場合があります)
使用するモデルを選択します。
Note 一覧にモデルが表示されない場合は、インスタンス内でモデルが作成されているか、それをYellowfinがサポートしているかを確認してください。
選択したモデル、また選択しようとしているモデルが、H2Oインスタンスから削除されている場合は、エラーが表示されます。その場合は、Step(ステップ)設定パネルのモデル一覧を手作業で更新しなくてはいけません。例:Connect to H2O(H2Oへ接続)をクリックします。
- 次に、入力ステップをマッピングするために、さらなる設定オプションが表示されます。これらはモデルに固有のものです。
モデルに必要な入力カラム(列)をデータとマッピングします。例えば今回の例では、入力形式として年齢、収入、性別が必要です。
Note ステップを実行し、結果を生成するためには、すべてのフィールドをマッピングしなくてはいけません。また、同一のデータ型の正確な値がマッピングされていることを確認し、データを正しく一致させる必要があります。(不正確なマッピングが行われた場合は、「Error(エラー)」項目に、各データ値に対するエラーが生成されます。
- 「Save(保存)」ボタンをクリックします。
- Step(ステップ)の実行に成功すると、データプレビューパネルに、「H2Oモデル結果」という新しいカラム(列)が、モデル出力とともに表示されます。こちらに表示される結果は、モデルのタイプに応じて異なります。
- さらなる変換を行うこともできますし、結果をデータベースへ保存することもできます。
H2O Step(ステップ)の編集
H2Oモデルへの変更:設定されたH2Oモデルを変更すると何が起きるか。
H2Oで作成されたモデルは、同一のIDを使用することで、編集したり、再保存することができます。これは、軽微な変更の場合もあれば、モデル全体を完全に変更する場合もあります。Transformation Flow(データ変換フロー)内で使用しているモデルを変更する場合、変更の内容に応じて、H2O Transformation Step(変換ステップ)を再設定しなくてはいけない場合があります。これは、新しいモデルにマッピングが必要な新規フィールドが含まれるかどうかに関連します。
- 新規フィールドを追加していない場合:新規入力フィールドの追加や、既存のフィールドの新しいモデルへの変更がなければ、(いくつかのフィールドが削除されたとしても)フィールドのマッピングや、再設定の必要はありません。Step(ステップ)は、破損することなく機能し続けます。
- 新規フィールドを追加した場合:しかし、新規入力フィールドの追加を含むモデルの変更が行われた場合は、手作業で再設定をしない限り、Step(ステップ)は破損します。注意:新しいモデルに新規フィールドが追加されたとしても、これらは自動的にStep(ステップ)設定パネルに表示されません。これらのフィールドを表示させるためには、手作業でのアクションが必要です。例えば、Stepステップ設定パネルで「Save(保存)」ボタンをクリックするか、一覧から他のモデルを選択することで、新しい入力フィールドが表示されます。
例えば、こちらのH2Oモデルでは、新規入力フィールド(Educationとします)の追加を含む変更が行われました。このフィールドを設定せずにモデルを実行すると、Step(ステップ)は破損します。
上図から分かるように、設定パネルには、入力形式に関する変更が表示されていません。
「Save(保存)」ボタンをクリックすると、形式が更新され、新しいモデルに必要な入力が表示されます。(今回の例では、追加された新規フィールドが表示されます)
このフィールドをマッピングし、保存をすることで、フローを適切に実行することができます。
Expand | ||
---|---|---|
| ||
|
出力で行われた変更
ワークフローで説明したように、モデルに生成された出力は「H2Oモデル結果」という新しいカラム(列)名でデータプレビューパネルに表示されます。H2O Step(ステップ)に変更が行われた場合、フロー内の継続するStep(ステップ)に影響を与えます。これは、Step(ステップ)の失敗に繋がる場合もあります。
変更された出力のタイプ:H2O Step(ステップ)内のモデルが変更された場合、出力タイプも変更されている場合があります。接続された次のStep(ステップ)が数値を予期していても、変更によりテキストが受け取られた場合、これは失敗します。
例:これは、H2O Step(ステップ)がモデルを使用してInput Step(入力ステップ)からのデータを変換するフローです。これは、数値を生成するようにデザインされており、この結果の合計の計算を集約する、という次のStep(ステップ)に使用されます。そして、その結果はCalculated Field Step(計算フィールドステップ)へ送られます。
しかし、モデルの出力がテキスト結果を生成するよう変更された場合、数値が適切に実行される必要があるため、Aggregate Step(集約ステップ)は失敗します(または、破損します)。失敗したStep(ステップ)を実行するすべてのStep(ステップ)は、キャンセルされます。