9

比較的多数のデータがあり、80 列と約 220,000 行がありますnnet。 のmultinom()関数を使用して、順序付けされていない多カテゴリ データに対して多項ロジスティック回帰を実行しようとすると、関数は 100 回の反復後に停止するようです。

# weights:  322 (270 variable)
initial  value 807521.728781 
iter  10 value 191523.940813
iter  20 value 163085.728004
iter  30 value 146262.378340
iter  40 value 139398.851395
iter  50 value 134606.101687
iter  60 value 133588.725646
iter  70 value 133253.102380
iter  80 value 133129.328709
iter  90 value 133098.717752
iter 100 value 133095.661773
final  value 133095.661773 
stopped after 100 iterations

も使用しようとしましたが、次VGAMvglm()エラーが表示されます。

Error in outer(X, Y, FUN, ...) : allocMatrix: too many elements specified

考えられる説明は、私の小さな macbook air が仕事に向いていないということですが、現在持っているデータセットに対して多項ロジスティック回帰を実行するには、他にどのような方法が必要でしょうか?

4

2 に答える 2

20

のドキュメントを見ると、「nnet の追加引数」用multinom()のパラメーターが含まれていることがわかります。...

次に、 のドキュメントをnnet見ると、次の使用法が表示されます。

nnet(x, y, weights, size, Wts, mask,
linout = FALSE, entropy = FALSE, softmax = FALSE,
censored = FALSE, skip = FALSE, rang = 0.7, decay = 0,
maxit = 100, Hess = FALSE, trace = TRUE, MaxNWts = 1000,
abstol = 1.0e-4, reltol = 1.0e-8, ...)

あなたが直面している問題は、デフォルトmaxitが 100 であることです。パラメーターに追加maxit=1000(または作成したいもの) を試してmultinom()ください。私はこれをテストしていませんが (再現可能なサンプル データを含める必要があります)、うまくいくと思います。

于 2012-07-27T16:21:51.597 に答える
7

ヘルプを見ると、?multinomそれが呼び出すnnetと書かれており、これ...は への追加パラメータnnetです。これらのパラメーターの 1 つは、maxitデフォルトで 100 に設定されています。これをパラメーターとして追加し、最大反復回数を指定します。

エラーに関するこの質問もご覧ください。vglm

于 2012-07-27T16:21:03.033 に答える