2017-12-14 100 views
5

मैं निम्नलिखित कोड के रूप में, एक बढ़ाने का उपयोग कर sink समारोह के लॉग को बचाने के लिए कोशिश कर रहा हूँ:मैं सिंक का उपयोग कैसे कर सकता हूं और फिर भी आर में मुद्रित संदेश प्राप्त कर सकता हूं?

require(xgboost) 
require(R.utils) 

data(iris) 
train.model <- model.matrix(Sepal.Length~., iris) 

dtrain <- xgb.DMatrix(data=train.model, label=iris$Sepal.Length) 

xgb_grid = list(eta = 0.05, max_depth = 5, subsample = 0.7, gamma = 0.3, 
    min_child_weight = 1) 

sink("evaluationLog.txt") 
fit_boost <-xgb.cv(data = dtrain, 
        nrounds  = 1000, 
        objective = "reg:linear", 
        eval_metric = "logloss", 
        params = xgb_grid, 
        colsample_bytree = 0.7, 
        early_stopping_rounds = 100, 
        nfold = 5, 
        prediction = TRUE, 
        maximize = FALSE 
       ) 

sink() 

हालांकि मैं नहीं देख सकता "क्या हो रहा है" यह समारोह के उत्पादन और/या संदेश मुद्रण नहीं कर रहा है के बाद से।

मेरा प्रश्न कैसे मैं sink के साथ दोनों एक .txt फ़ाइल प्राप्त कर सकते हैं कर सकते हैं और देखते हैं कि समारोह (इस मामले में xgb.cv होगा) प्रिंट कर रहा है है?

धन्यवाद!

उत्तर

6

उपयोग तर्क split:

sink('test.txt', split = TRUE) 
print(letters) 
# [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" 
#[18] "r" "s" "t" "u" "v" "w" "x" "y" "z" 
sink() 

आप इसे ऊपर देख सकते हैं दोनों कंसोल पर प्रिंट होगा और आप भी अपने वर्तमान निर्देशिका में एक test.txt फ़ाइल मिलेगा के रूप में।

+0

यह इतना स्पष्ट है! और सही धन्यवाद!!! – patL

+1

आपका स्वागत है, खुशी है कि मैं मदद कर सकता हूं :) – LyzandeR

संबंधित मुद्दे

 संबंधित मुद्दे