2016-12-19 12 views
3

caret::train()関数に明示的なmethodパラメータがあります。このパラメータには、使用する機械学習方法(MASS::polrなど)を指定できます。さらに、caret::train()では、...(dots)パラメータを使用して、メソッド関数にパラメータを渡すことができます。明示的なパラメータと矛盾するドットにパラメータを渡す

ただし、MASS::polrパラメータの1つはmethodで、これはcaret::train()methodパラメータと競合します。まだcaret::train()method="polr"パラメータを渡しながら

はどのようにして、具体的polrpolrmethod="probit"パラメータを渡すのですか?

caret::train()の特定のトリックがあるか、一般的な機能ドットと名前付き機能パラメータの一般的なトリックがあるかどうかは不明です。

は具体的には、私が必要:

## Generic example, no data, but captures idea 
fit <- train(xdata, ydata, method="polr" # this 'method' is named parameter for train() function 
    , preProcess = c("center", "scale") 
    , method="probit" # this 'method' parameter needs to be passed via dots to 'polr' 
) 

答えて

1

一般的には...オプションは、基本となる機能に必要なパラメータを渡します。しかし、場合によっては、これは実際に列車機能の既存のパラメータと衝突します。 polrの場合、これはtuneGridによって解決されます。

the available modelsページを参照し、polrを検索してください。それは次のようになります。式表記で

train(y ~ x1 + x2, 
     data = my_data, 
     method = "polr", 
     trControl = my_control, 
     tuneGrid = expand.grid(method = "probit")) 
+0

は素晴らしい仕事、ありがとうございます。私は利用可能なモデルのページに行き、 'polr'を見つけましたが、このパラメータを渡す方法については言及していませんでした。また、私はこれがチューニングパラメータであるとは思わなかったので、 'tuneGrid'を経由してみることはしませんでした。私は問題を提出し、このパラメタを渡す際に明示的に与えられる例を求めます。私は回帰テストを確認しましたが、このパラメータを渡す例はありませんでした... https://github.com/topepo/caret/blob/master/RegressionTests/Code/polr.R – mpettis

+1

明示的に問題として提出されましたドキュメントはこちら:https://github.com/topepo/caret/issues/554 – mpettis

関連する問題