2017-06-12 12 views
0

私はRでの機械学習の学習者として "surv.randomForestSRC"を使用しようとしています。 私のコードと結果は以下の通りです。 「newHCC」は、複数の数値的パラメータの結果を有するHCC患者の生存データである。RとrandomForestSRCパッケージを使用した機械学習

> newHCC$status = (newHCC$status == 1) 
> surv.task = makeSurvTask(data = newHCC, target = c("time", "status")) 
> surv.task 
Supervised task: newHCC 
Type: surv 
Target: time,status 
Events: 61 
Observations: 127 
Features: 
numerics factors ordered 
     30  0  0 
Missings: FALSE 
Has weights: FALSE 
Has blocking: FALSE 

> lrn = makeLearner("surv.randomForestSRC") 
> rdesc = makeResampleDesc(method = "RepCV", folds=10, reps=10) 
> r = resample(learner = lrn, task = surv.task, resampling = rdesc) 
[Resample] repeated cross-validation iter 1: cindex.test.mean=0.485 
[Resample] repeated cross-validation iter 2: cindex.test.mean=0.556 
[Resample] repeated cross-validation iter 3: cindex.test.mean=0.825 
[Resample] repeated cross-validation iter 4: cindex.test.mean=0.81 
... 
[Resample] repeated cross-validation iter 100: cindex.test.mean=0.683 
[Resample] Aggr. Result: cindex.test.mean=0.688 

私はいくつか質問があります。

  1. ntree、mtryなどのパラメータを確認するにはどうすればよいですか?
  2. チューニングには良い方法はありますか?
  3. randomForestSRCパッケージのpredictedを使用したときに見られるような、予測される個々のリスクをどのように見られますか?

事前に感謝します。

+0

Need:[MCVE]は、「チューンアップ」と「予測される個々のリスクを監視する」という意味を定義します。 –

+0

私の悪い英語を申し訳ありません。私はntree、mtry、ノードサイズなどを検索してより良い結果(より低いエラー)を得るために "チューンアップ"を意味しました。予測値については、Rdocumentation(https://www.rdocumentation.org/packages/randomForestSRC/versions/2.4.1/topics/predict.rfsrc)に示されている予測値を考えていました。 –

答えて

0
  1. と2.あなたが今日のために、以下のよう

    surv_param <- makeParamSet( makeIntegerParam("ntree",lower = 50, upper = 100), makeIntegerParam("mtry", lower = 1, upper = 6), makeIntegerParam("nodesize", lower = 10, upper = 50), makeIntegerParam("nsplit", lower = 3, upper = 50) ) rancontrol <- makeTuneControlRandom(maxit = 10L) surv_tune <- tuneParams(learner = lrn, resampling = rdesc, task = surv.task, par.set = surv_param, control = rancontrol) surv.tree <- setHyperPars(lrn, par.vals = surv_tune$x) surv <- mlr::train(surv.tree, surv.task) getLearnerModel(surva) model <- predict(surv, surv.task)

  2. 試すことができますが、MLR surv.randomForestSRC内の個々のリスクを予測することはできません。タイプレスポンスを予測するだけです