1
から抽出フィーチャクラス/種類、私のようなモデルをトレーニングすることができます内蔵のアイリスデータセットを使用してキャレット列車のオブジェクト
model <- train(Species~., data=iris, method='xgbTree')
私は、機能の名前を抽出することができますが、私は取得しようとすると、それらのクラスは、単に文字列であるため文字を返します。
model$coefnames
## "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width"
lapply(model$coefnames, class)
## "character" "character" "character" "character"
あなたが予測を行うために、別の型の変数に入れしようとすると、キャレットが期待されるタイプを知っているかのようにしかし、それはそうです。
test<- data.frame(Sepal.Length=1,
Sepal.Width=2,
Petal.Length=3,
Petal.Width="x") # character instead of numeric
predict(model, newdata=test)
## Error: variable 'Petal.Width' was fitted with type "numeric" but type "factor" was supplied
私はちょうどモデルオブジェクトそのものを使用してモデルを訓練するために使用される機能の種類を抽出することができます方法はありますか?私が得ることができる最も近いのはdplyr
ファンクションtype.convert
を使用することですが、これは入力があることを知る必要があります。私の理想的な機能は次のようなものに動作します:
model_types(model$coefnames)
## "numeric" "numeric" "numeric" "numeric"
本当にありがとうございました、モデルの用語の属性として保存されているが、それがどこかにあると知っていました。 – tjq