2

実行h2o.automl()すると、リーダーボードで単一のモデルが返されます。ただし、 経由で実際のモデルにアクセスしようとすると@leader@model、次のエラーが発生します。

is.H2OFrame(x) のエラー: スロットのない基本クラス ("NULL") のオブジェクトからスロット "メトリック" を取得しようとしています

同様h2o.predict()に、リーダー モデルを呼び出すと、次のエラー メッセージが表示されました。

.h2o.doSafeREST(h2oRestApiVersion = h2oRestApiVersion, urlSuffix = page, のエラー: エラー メッセージ: オブジェクト 'ダミー' が関数に見つかりません: 引数の予測: モデル

モデルは in を使用して同じセッションで実行されましh2o v3.20.0.2R

4

1 に答える 1

3

何が起こっているのかというと、1 時間で 1 つのモデルをトレーニングすることができないため、リーダー モデルを収集しようとすると、不完全なモデルを取得しようとしてエラーが発生します。行はそれほど多くありませんが、非常に多くの列があります。

モデルのトレーニングにかかる​​時間を予測するのは難しいため、max_models時間で制限する代わりに引数を使用します。AutoML はmax_modelsorの最初の値に到達すると停止するため、非常に大きな数値 (999999999 など) をmax_runtime_secs設定してから、 or を任意の数値に設定します。 max_runtime_secsmax_models = 10

2 番目に、非常に幅広いデータがあるため、ランダム フォレストと GBM モデルをオフにして、GLM とディープ ラーニング モデルを残すことをお勧めします。そのためには、 を設定しexclude_algos = c("DRF", "GBM")ます。12 万列でツリーベースのモデルをトレーニングするには、非常に長い時間がかかります。

考慮すべきもう 1 つの適切なオプションは、最初にPCAまたはGLRMをデータに適用して次元を 500 列未満に減らしてから、ツリーベースのモデルを AutoML の実行に含めることです。

于 2018-08-09T21:05:14.770 に答える