0
我一直在使用rgp(遺傳編程)軟件包來預測泰坦尼克號的生存。輸入數據幀火車是training data from Kaggle,Sex變量的女性爲0,男性爲1。鑑於此,代碼是:package rgp in r給出了不能被抑制的「NaNs產生」輸出
fs <- functionSet("+", "-", "*", "exp", "sin", "cos")
ivs <- inputVariableSet("Sex")
cfs <- constantFactorySet(function() rnorm(1))
ff <- function(f) {
err <- rmse(as.numeric(f(train$Sex)), as.numeric(train$Survived))
if (is.na(err)) return(1e12) else return(err)
}
set.seed(42)
gp <- geneticProgramming(functionSet = fs,
inputVariables = ivs,
constantSet = cfs,
fitnessFunction = ff,
stopCondition = makeTimeStopCondition(60),
verbose = FALSE)
問題是遺傳編程功能輸出「NaNs產生」頻繁。事實上,如果我運行足夠長的時間(例如一夜之間),輸出足以掛起r和rstudio。 (我想要運行的實際代碼更多地涉及「NaNs生成」打印更頻繁,但這個縮短版本足以顯示問題。)
我想要抑制geneticProgramming的所有輸出。 verbose = FALSE選項不解決「NaNs產生」輸出。
我試過使用capture.output,sink和不可見。我在R markdown單元格中嘗試過echo = FALSE。一切都無濟於事。我會認爲sink(「/ dev/null」)可以解決問題,但它不會。
這個輸出來自哪裏,如果通常的方法不起作用,我該如何抑制它?
非常感謝。