2017-10-12 14 views
0

前処理ステップを実行した後でデータにアクセスする方法は、をmlrで使用しますか?コードの除外版:mlr - 前処理ステップ間または後のデータにアクセスする

library(mlr) 
library(mlbench) 

data <- BreastCancer[, 2:11] 
lrn <- makeLearner(cl = "classif.ranger", 
         predict.type = "prob", 
         fix.factors.prediction = TRUE, 
         importance = "permutation") 

lrn <- makeImputeWrapper(lrn, classes = list(integer = imputeMedian(), 
                numeric = imputeHist(), 
                factor = imputeMode())) 

lrn <- makeRemoveConstantFeaturesWrapper(lrn, na.ignore = TRUE) 

classif.task <- makeClassifTask(data = rawdata, target = "Target", positive = "1") 

model <- train(lrn, classif.task) 

このコードは、学習者を定義し、一定の機能を削除して代用を実行します。定数フィーチャを削除した後、またはより興味深いことに、代用後にデータがどのように見えるかを確認する方法はありますか?

答えて

1

これは現時点では実装されていません。ラッパーのポイントは、すべてをカプセル化して中間ステップについて心配する必要がないことです。

ただし、impute()関数を使用すると、同じ代入を別々に行うことができます(定数関数の削除についても同様です)。詳細については、the tutorialを参照してください。

+0

迅速な対応に感謝します。私がラッパーを使用している理由。上で言及していないカスタムは、トレーニングとスコアリングのコードを1つの関数に統合し、2つの間で引数を渡します(必要に応じてハイパーパラメータのチューニングも実行します)。ただし、「実際の」ワークフロー内でコードをテスト/デバッグすることは、単体テストを使用する場合と同じくらい有用な場合があります。 **そして、**第3のパッケージ、例えば、私の場合、xgboostExplainer(https://medium.com/applied-data-science/new-r-package-the-xgboost-explainer-51dd7d1aa211)には、前処理されたトレーニングデータが必要です。 – notiv

+1

あなたがカスタムPreprocessingWrappers(http://mlr-org.github.io/mlr-tutorial/devel/html/preproc/index.html#preprocessing-wrapper-functions)を書いたのであれば、単に地球環境の中に物事を保存することができます(< < - )、または列車内のディスクに物を書き込み、機能を予測する。 –

+0

ありがとうございます@ジャコブラ、それは実際に良いヒントです! – notiv

関連する問題