ပြင်ဆင်နည်း- randomforest.default(m, y, …): နိုင်ငံခြား လုပ်ဆောင်ချက်ခေါ်ဆိုမှုတွင် na/nan/inf


R တွင် သင်ကြုံတွေ့နိုင်သော အမှားတစ်ခုမှာ-

 Error in randomForest.default(m, y, ...): 
  NA/NaN/Inf in foreign function call (arg 1)

ဤအမှားသည် အကြောင်းရင်းနှစ်ခုကြောင့် ဖြစ်နိုင်သည်-

  • ဒေတာအတွဲတွင် NA၊ NaN သို့မဟုတ် Inf တန်ဖိုးများ ရှိပါသည်။
  • ဒေတာအတွဲရှိ ကိန်းရှင်များထဲမှ တစ်ခုသည် ဇာတ်ကောင်တစ်ခုဖြစ်သည်။

ဤအမှားကို ပြင်ဆင်ရန် အလွယ်ကူဆုံးနည်းလမ်းမှာ ပျောက်ဆုံးနေသော ဒေတာပါရှိသော အတန်းများကို ဖယ်ရှားပြီး ဇာတ်ကောင် variable များကို factor variable အဖြစ်သို့ ပြောင်းလဲရန်ဖြစ်သည်-

 #remove rows with missing values 
df <- na. omitted (df)

#convert all character variables to factor variables
library (dplyr)
df %>% mutate_if(is. character , as. factor )

ဤသင်ခန်းစာသည် လက်တွေ့တွင် ဤအမှားကို ဖြေရှင်းနည်းကို မျှဝေထားသည်။

ဆက်စပ်- R တွင် ကျပန်းသစ်တောများ ဖန်တီးနည်း (တစ်ဆင့်ပြီးတစ်ဆင့်)

အမှားကို ဘယ်လိုပြန်ထုတ်မလဲ။

ကျွန်ုပ်တို့သည် R ရှိ အောက်ပါဒေတာဘောင်တွင် ကျပန်းသစ်တောတစ်ခုကို အံဝင်ခွင်ကျဖြစ်အောင် ကြိုးစားနေသည်ဆိုပါစို့။

 library (randomForest)

#create data frame
df <- data. frame (y <- c(30, 29, 30, 45, 23, 19, 9, 8, 11, 14),
                 x1 <- c('A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C'),
                 x2 <- c(4, 4, 5, 7, 8, 7, 9, 6, 13, 15))

#attempt to fit random forest model
model <- randomForest(formula = y ~ ., data = df)

Error in randomForest.default(m, y, ...):
  NA/NaN/Inf in foreign function call (arg 1)

x1 သည် ဒေတာဘောင်ရှိ အက္ခရာပြောင်းနိုင်သော ကြောင့် အမှားအယွင်းတစ်ခု ရရှိခဲ့သည်။

ဒေတာဘောင်၏ဖွဲ့စည်းပုံကိုပြသရန် str() လုပ်ဆောင်ချက်ကို အသုံးပြု၍ ၎င်းကို အတည်ပြုနိုင်သည်-

 str(df)

'data.frame': 10 obs. of 3 variables:
 $ y....c.30..29..30..45: num 30 29 30 45 23 19 9 8 11 14
 $ x1....c..A....A....B....B.... : chr "A" "A" "B" "B"
 $ x2....c.4..4..5..7..: num 4 4 5 7 8 7 9 6 13 15

အမှားကိုဘယ်လိုပြင်မလဲ။

ဤအမှားကိုပြင်ရန်၊ ကျွန်ုပ်တို့သည် dplyrmutate_if() လုပ်ဆောင်ချက်ကို အသုံးပြု၍ စာလုံးကော်လံတစ်ခုစီကို ကိန်းဂဏန်းကော်လံအဖြစ်သို့ ပြောင်းနိုင်သည်-

 library (dplyr)

#convert each character column to factor
df = df %>% mutate_if(is. character , as. factor )

ထို့နောက် ကျွန်ုပ်တို့သည် ကျပန်းသစ်တောပုံစံကို ဒေတာဘောင်နှင့် အံကိုက်လုပ်နိုင်သည်။

 #fit random forest model
model <- randomForest(formula = y ~ ., data = df)

#view summary of model
model

Call:
 randomForest(formula = y ~ ., data = df) 
               Type of random forest: regression
                     Number of trees: 500
No. of variables tried at each split: 1

          Mean of squared residuals: 65.0047
                    % Var explained: 48.64

ဒေတာဘောင်တွင် ဇာတ်ကောင်ပြောင်းလွဲမှုများမရှိတော့သောကြောင့် ယခုတစ်ကြိမ်တွင် မည်သည့်အမှားအယွင်းမှ မရရှိပါ။

ထပ်လောင်းအရင်းအမြစ်များ

အောက်ဖော်ပြပါ သင်ခန်းစာများသည် R တွင် အခြားသော ဘုံအမှားများကို ဖြေရှင်းနည်းကို ရှင်းပြထားပါသည်။

ပြင်ဆင်နည်း- အခြေအနေသည် အရှည် > 1 ဖြစ်ပြီး ပထမဒြပ်စင်ကိုသာ အသုံးပြုပါမည်။
R တွင် ပြင်ဆင်နည်း- dim(X) သည် အပေါင်းအလျားရှိရမည်။
R တွင် မှန်/မမှန် လိုအပ်သည့် တန်ဖိုး ပျောက်နေပုံကို ဘယ်လိုပြင်မလဲ။
ပြင်နည်း- Coercion မှ မိတ်ဆက်ထားသော NAs

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်