はR

2017-08-05 3 views
0

私はタイタニックデータセットにneuralnetを適用していますで、ニューラルネットワークの予測結果にNAに対処する方法はR

library(caret) 
model_nnet <- train(as.factor(Survived) ~., 
       method="nnet", 
       train_df, 
       linout=FALSE, 
       trace = FALSE, 
       preProcess = c("center", "scale")) 

nnet_predict <- predict(model_nnet, test_df) 

(PCLASS、性別、年齢、Sibsp、炒る、運賃、着手を含みます)テストデータフレーム(418レコード)と同じ長さになるように、実際にはNAを含み、331の結果しか持たない。どのようにそれに対処するためのアドバイス? predict()機能を実行する前に、あなたはこれらの2列のNAを修正する必要があるので、あなたが欠落している値がAge & Fare列であることがわかりますあなた

summary(test_df) 

ため

答えて

1

ルックをありがとうございます。それは平均値だとFare列にNAを記入

  • -

    1つのオプションはである可能性があります。

  • それが平均値WRTだPclassすなわち

if Pclass==1 then missing_age <- 37 
if Pclass==2 then missing_age <- 29 
else missing_age <- 24 

Age列でNAを記入し、この情報がお役に立てば幸い!

+0

ありがとうございます!非常に便利です。 1つのnoobie質問しかし:それは常に訓練とテストでダミー変数を代用して作成する必要がありますか、それとも良い方法がありますか? – santoku

+1

通常、欠損値/外れ値などのデータを処理してから、列車/テストデータに分割する必要があります。データがすでに分割されている場合は、それをまとめて扱い、モデルを実行する前に再度分割します。 – Prem