2016-04-05 2 views
1

H2Oディープラーニングは、ターゲット変数が(2つのレベルのみを含む)要因であることを保証していても、デフォルトで回帰を実行しています。どのようにこれを解決する上でリード?以下はH2OディープラーニングR

コードです:

dnn_mod <- 
    h2o.deeplearning(x = 2:321, # column numbers for predictors 
        y = 322, # column number for label 
        training_frame = sdcs_data, # data in H2O format 
        activation = "TanhWithDropout", # or 'Tanh' 
        input_dropout_ratio = 0.2, # % of inputs dropout 
        hidden_dropout_ratios = c(0.3,0.3,0.3), # % for nodes dropout 
        balance_classes = FALSE, 
        hidden = c(150,150,150), 
        epochs = 500, 
        #standardize = TRUE, 
        epsilon = 1.0e-5, 
        loss = "CrossEntropy", 
        stopping_rounds = 50, 
        stopping_metric = "AUC") 
        #classification = TRUE) 
+0

「回帰を実行していますか?」とはどういう意味ですか? – lejlot

+0

分類ではなく回帰モデルを実行するのがデフォルトです。 CrosseEntropy損失のようなパラメータは、どの場合には意味を成さず、エラーをスローします。 –

+0

だから、損失= "クロスエントロピー"を設定しないでください.... –

答えて

2

あなたが分類を実行したい場合は、あなたの応答変数は「因子」(別名「列挙」)タイプとしてエンコードする必要があります。このR code exampleH2O Deep Learning bookletから参照してください。これはすべてのH2Oアルゴリズムの場合です。

+0

私の質問ごと、私はすでに応答が「要因」としてコード化されていることを保証しています。 –

+0

列322が応答列であることを確認してください。 'h2o.describe(sdcs_data [、322])'または 'h2o.getTypes(data)[[322]]'の出力を貼り付けてください。それは "enum"と言うべきです。 –

+0

さらに、 'distribution =" bernoulli "'を明示的に設定することもできます。誤ってレスポンスを因子に変換しなかった場合は、以下を含むメッセージが表示されます: '' bernoulli分布は回帰できません。 –

関連する問題