ããã®æ瀺ã«åŸã£ãŠãã ããïŒ https ïŒ//xgboost.readthedocs.io/en/latest/R-package/xgboostPresentation.html
> install.packages("drat", repos="https://cran.rstudio.com")
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/drat_0.1.5.zip'
Content type 'application/zip' length 87572 bytes (85 KB)
downloaded 85 KB
package âdratâ successfully unpacked and MD5 sums checked
The downloaded binary packages are in
C:\Users\lee\AppData\Local\Temp\RtmpiE0N3D\downloaded_packages
> drat:::addRepo("dmlc")
> install.packages("xgboost", repos="http://dmlc.ml/drat/", type = "source")
Warning: unable to access index for repository http://dmlc.ml/drat/src/contrib:
Line starting '<!DOCTYPE html> ...' is malformed!
Warning message:
package âxgboostâ is not available (for R version 3.6.0)
R3.6.2ã§ãåããšã©ãŒã§å€±æããŸãã
泚ïŒCRANããŒãžã§ã³ã䜿çšããããšæããŸãã ããããç§ãLinuxãšMacã§ãã¬ãŒãã³ã°ããsaveRDSé¢æ°ã䜿çšããŠä¿åããã¢ãã«ã¯ãå¥ã®ã·ã¹ãã ïŒWindowsïŒã§ã¯äºæž¬ãããnumericïŒ0ïŒãçæããã ãã§ãã ä»ã®ã³ã³ãã¥ãŒã¿ãŒã§äœ¿çšããããã«XGBoostã¢ãã«ãä¿åããæ¹æ³ã«ã€ããŠèª°ããã¬ã€ãã©ã€ã³ãæã£ãŠãããªããç§ã«ç¥ãããŠãã ããã xgb.save.rawãšxgb.loadãè©ŠããŸãã-ã©ã¡ããnumericïŒ0ïŒãçæããŸãã ããããç§ãã¢ãã«ããã¬ãŒãã³ã°ããã³ã³ãã¥ãŒã¿ãŒïŒ1ãæåïŒã§ã¯ãRã®readRDSã¯åé¡ãªãæ©èœããŸãã 絶察ã«å°æããŸãã
install.packagesïŒ 'xgboost'ïŒãè©ŠããŸãããïŒ
install.packagesïŒ 'xgboost'ïŒãè©ŠããŸãããïŒ
ããã¯åé¡ãªãæ©èœããŸãããä¿åãããã¢ãã«ããã®ãã¹ãŠã®äºæž¬ïŒsaveRDSã䜿çšïŒã¯numericïŒ0ïŒãçæããŸãã openMPã䜿çšããŠãã¬ãŒãã³ã°ãããã¢ãã«ã¯ããã®ãã¬ãŒã ã¯ãŒã¯ããªãã³ã³ãã¥ãŒã¿ãŒã§ã¯æ©èœããªãããã§ãã ç§ã®æã¿ã¯ããœãŒã¹ããã³ã³ãã€ã«ããããšã§ããã解決ãããããšã§ããã
ããã¯ããœãŒã¹ããXGBoostãã³ã³ãã€ã«ããæ¹æ³ã§ãã
mkdir build
cd build
cmake .. -G"Visual Studio 14 2015 Win64" -DR_LIB=ON
cmake --build . --target install --config Release
ã¢ãã«ãã¡ã€ã«ãå ±æããŠãäºæž¬ã§0ãåŸãããçç±ãèŠã€ããããããã«ããŠãã ããã
ããããšã-Rãªããžã§ã¯ããå¿ èŠã§ããããããšãxgb.save.rawçµç±ã§å€æãããã§ããïŒ
äž¡æ¹
ããªãã®å©ããšãµããŒãã«æè¬ããŸãïŒãããŠãã®ãããªç¹å¥ãªåŠç¿ããã°ã©ã ãäœã£ãŠãããŠïŒã
æ·»ä»ãããŠããã®ã¯zip圢åŒã®.rdataãã¡ã€ã«ã§ãã 3ã€ã®ã·ã¹ãã ïŒMacãMacBookãUbuntuïŒã§ã¯ã次ã®ã³ãŒããå®è¡ã§ããŸãã
modelList <- readRDS("<path_to_folder>/modelList.rdata")
attach(modelList)
predictions_caret <- predict(object=caretModel, newdata=caretModel$trainingData[,!colnames(caretModel$trainingData) %in% ".outcome"])
predictions_xgbbase <- predict(object=xgbModel, newdata=as.matrix(caretModel$trainingData[,!colnames(caretModel$trainingData) %in% ".outcome"]))
ãããŠã次ã®åºåãååŸããŸãã
> predictions_caret <- predict(object=caretModel, newdata=caretModel$trainingData[,!colnames(caretModel$trainingData) %in% ".outcome"])
[23:12:50] WARNING: ../..//amalgamation/../src/objective/regression_obj.cu:167: reg:linear is now deprecated in favor of reg:squarederror.
> head(predictions_caret)
[1] 14.0180358887 13.0352602005 12.9208145142 13.2430124283 13.6698570251
[6] 12.9033651352
> predictions_xgbbase <- predict(object=xgbModel, newdata=as.matrix(caretModel$trainingData[,!colnames(caretModel$trainingData) %in% ".outcome"]))
[23:16:17] WARNING: ../..//amalgamation/../src/objective/regression_obj.cu:167: reg:linear is now deprecated in favor of reg:squarederror.
> head(predictions_xgbbase)
[1] 14.0180358887 13.0352602005 12.9208145142 13.2430124283 13.6698570251
[6] 12.9033651352
ã·ã¹ãã 4ïŒCRANããxgboostãã€ã³ã¹ããŒã«ãããWindowsããŒã¹RïŒã§ã¯ãéåžžã«ç°ãªãçµæãåŸãããŸãã
> predictions_caret <- predict(object=caretModel, newdata=caretModel$trainingData[,!colnames(caretModel$trainingData) %in% ".outcome"])
[23:18:04] WARNING: amalgamation/../src/objective/regression_obj.cu:152: reg:linear is now deprecated in favor of reg:squarederror.
> head(predictions_caret)
numeric(0)
> predictions_xgbbase <- predict(object=xgbModel, newdata=as.matrix(caretModel$trainingData[,!colnames(caretModel$trainingData) %in% ".outcome"]))
[23:18:41] WARNING: amalgamation/../src/objective/regression_obj.cu:152: reg:linear is now deprecated in favor of reg:squarederror.
> head(predictions_xgbbase)
numeric(0)
ããã«ã¯æ°ããåé¡ãéãå¿ èŠããããšæããŸãããåãã³ãŒããç°ãªãã·ã¹ãã ã§ç°ãªãåäœãããçç±ã«ã€ããŠãããªããæäŸã§ããã¬ã€ãã³ã¹ã«æè¬ããŸãã
æåŸã«ãxgbRawãå«ãŸããŠããŸãïŒattachïŒïŒã䜿çšããå Žåã¯åŒã³åºãå¯èœã§ããå¿ èŠããããŸãïŒãããã¯æ¬¡ã®ã³ãŒãã§çæãããŸããã
xgbRaw=xgb.save.raw(xgb.Booster.complete(caretModel$finalModel))
æ¹ããŠããããšãããããŸããã
ãããããompäŸå€ã«å¯Ÿããdmlcã¬ãŒããåå ã§ããïŒ
@ leedrake5ã䜿ãã®ãã·ã³ã¯OpenMPããµããŒãããŠããŸãããïŒ
@ hcho3åå ã¯ããããŸãããïŒ OpenMPãªãã§XGBoostãã³ã³ãã€ã«ããŸããïŒCMakeListsãžã®ããããããã€ããããŸãïŒãå€éšã¡ã¢ãªãã¹ãã¯æåŸ ã©ããã«å€±æããå±¥æŽäžŠåã°ã«ãŒããã¹ãã倱æããŸãïŒããŒã«ã«ãã©ã³ãã§ä¿®æ£ããŸããïŒã ãããããããŸã§ã®ãšãããå®ç§ãªäºæž¬å€ãåŸãããšãã§ããŸãã
@ hcho3ç§ã®ãã·ã³ã¯openmpããµããŒãããŠããŸãã ããããç§ãã¡ã¯ãããã®ã¢ãã«ãç£æ¥èŠæš¡ã§å±éããŠãããç¹å®ã®ãµã€ãã«ããå€ãã®ã³ã³ãã¥ãŒã¿ãŒã«ã¯openmpããããŸããã ããã¯ã6ãæã®æºåãšå®è£ ãŸã§ã®1é±éåŸã«çºèŠãããã°ãããªã®ã§ãã¢ãã«ãäžéšã®ã³ã³ãã¥ãŒã¿ãŒã§æ©èœããä»ã®ã³ã³ãã¥ãŒã¿ãŒã§ã¯æ©èœããªãçç±ãçªãæ¢ããããšããŠããŸãã
ã¢ãã«ããã®å»ºèšç°å¢ã§ã®ã¿æ©èœããå¿ èŠãããçç±ã«ã€ããŠã®å²åŠãããå Žåããã®çç±ã«ã€ããŠæçãªãšã©ãŒãååŸããæ¹æ³ã¯ãããŸããïŒ
@ leedrake5ããã¯ãã°ã§ãã ç§ã¯openmpãç¡å¹ã«ããŠUbuntuã§ãããåçŸããããšããŠããŸãããä»ã®ãšããéããããŸããã
@trivialfsããã圹ã«ç«ã£ãããç§ãšã»ãšãã©ã®ååãWindowsã§ãã°ãçµéšããŠããŸãã ç§ã®ååã¯openmpãªãã§ubuntuã§ãããåçŸããããšãã§ããŸãããã
掟æãªãã®ïŒopenmpãintelmklãopenblasãªã©ïŒãå«ãŸãªãRã®æå°éã®ã€ã³ã¹ããŒã«ã§åçŸã§ãããšæããŸãããã·ã¹ãã ã®ã©ã®éšåã§åé¡ãçºçããŠããã®ãããŸã é ãæ©ãŸããŠããŸãã
@ leedrake5 Linuxãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ãããåçŸããæ¹æ³ãããã°ãããã¯å€§ãã«åœ¹ç«ã€ã§ãããïŒ
ç§ã¯ã°ãŒã°ã«ãã¹ããompãå«ããã¹ãŠã®ãªãã·ã§ã³ãç¡å¹ã«ããŸãã...ããããããã§ãããªãã®ã¢ãã«ãããŒãããæ£ããçµæããããŸãã Rã®ã€ã³ã¹ããŒã«ã¯apt
ããã®ããã©ã«ãã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ãããXGBoostã®äºæž¬ãšã¯äœã®é¢ä¿ããªããšæããŸãã
OpenMPãåå ã§ã¯ãªãå¯èœæ§ããããŸãã äºæž¬ã§ããæ¬åœã«ééã£ãŠããã®ã§ã0ã§ã¯ãªãã°ããŒãã«ãªãã€ã¢ã¹ããŸã ãããŸãã
ç§ãèããããšãã§ããå¯äžã®çç±ã¯ãXGBoostãå®éã«ã€ã³ã¹ããŒã«ãããŠããªãããšã§ãã CRANã§ãã¹ããå®è¡ããŠãããšæããŸãããïŒ @ hcho3
CMakeãã«ããšautotoolsãã«ãã®äž¡æ¹ãè©ŠããŸããã ããã¯install.packages(...)
ïŒautotoolsãã«ãïŒã«ãã£ãŠå ±åãããç§ã®ã³ã³ãã€ã«ãã©ã°ã§ãïŒ
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I../..//include -I../..//dmlc-core/include -I../..//rabit/include -I../../ -DXGBOOST_STRICT_R_MODE=1 -DDMLC_LOG_BEFORE_THROW=0 -DDMLC_ENABLE_STD_THREAD=1 -DDMLC_DISABLE_STDIN=1 -DDMLC_LOG_CUSTOMIZE=1 -DXGBOOST_CUSTOMIZE_LOGGER=1 -DRABIT_CUSTOMIZE_MSG_ -DRABIT_STRICT_CXX98_ -DDMLC_CMAKE_LITTLE_ENDIAN=1 -pthread -fpic -g -O2 -fdebug-prefix-map=/build/r-base-el7SHG/r-base-3.5.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c ../..//amalgamation/xgboost-all0.cc -o ../..//amalgamation/xgboost-all0.o
@trivialfis XGBoostãCRANããæ£åžžã«ã€ã³ã¹ããŒã«ãããlibraryïŒxgboostïŒãåé¡ãªãåäœãããããããã«èå³æ·±ãã
ç§ã®ååã¯openmpãªãã§ubuntuã§ãããåçŸããããšãã§ããŸãããã
åçŸã®ä»æ¹ãæããŠããããã®ã§ããããïŒ
ç§ã®ååã¯openmpãªãã§ubuntuã§ãããåçŸããããšãã§ããŸãããã
åçŸã®ä»æ¹ãæããŠããããã®ã§ããããïŒ
圌ããLinuxã·ã¹ãã ãã©ã®ããã«æ©èœãããã«ã€ããŠååã«ç¥ã£ãŠãããã©ããã¯ããããŸãããã圌ããæäŸã§ãã蚺æãç¥ã£ãŠããå Žåã¯ãç§ã«ç¥ãããŠãã ããã
ç§ã®åŽã§ã¯ãåé¡ãåçŸã§ããä»®æ³ããã¯ã¹ubuntuã€ã³ã¹ããŒã«ãäœæããããšããŠããŸããæåããå Žåã¯ããã®ããã®ããŠã³ããŒããªã³ã¯ãéä¿¡ããŸãã
Linuxã§åé¡ãæ£åžžã«åçŸããŸãããæ·»ä»ã®ã¹ã¯ãªãŒã³ã·ã§ãããåç §ããŠãã ããã
ä»®æ³ããã¯ã¹ãdropboxã«ã¢ããããŒãããŠããŸãã ãã ããæåããã€ã³ã¹ããŒã«ãããå Žåã¯ãè€è£œããæé ã¯æ¬¡ã®ãšããã§ãã
sudo apt-get update
sudo apt-get install vim
sudo vim /etc/apt/sources.list
i
deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/
<esc> :wq
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
gpg -a --export E298A3A825C0D65DFD57CBB651716619E084DAB9 | sudo apt-key add -
sudo apt-get update
sudo apt-get install r-base-dev
install.packages(c("caret", "xgboost"))
library(caret)
library(xgboost)
modelList <- readRDS("~/Desktop/modelList.rdata")
attach(modelList)
predict(object=xgbModel, newdata=as.matrix(caretModel$trainingData[,!colnames(caretModel$trainingData) %in% ".outcome"]))
ãããŠãããã¯ä»ã§ã¯ããªãã¿ã®ãã®ãè¿ããŸããïŒ
[13:00:55]èŠåïŒamalgamation /../src/objective/regression_obj.cu:152ïŒregïŒlinearã¯å»æ¢ããã reg ïŒsquarederrorãæ¡çšãããŸããã
æ°å€ïŒ0ïŒ
泚ïŒæ瀺çãªåŒã³åºãã©ã€ãã©ãªãè©Šããäºæž¬ãè©ŠããŸããã ã©ã¡ããåãnumericïŒ0ïŒå¿çã«ãªããŸããã
7zå§çž®ä»®æ³ã€ã³ã¹ã¿ã³ã¹ãžã®ãªã³ã¯ã¯ããã«ãããŸãïŒ https ïŒ//www.dropbox.com/s/ld06zz798m0segf/UbuntuDebug.7zïŒdl = 0
æåã«ä»®æ³ããã¯ã¹ãå ¥æããŸãããã ç§ã¯éåžžKVMã䜿çšããŸãã
ä»ãããèŠãŠãã ããã
@ leedrake5æäŸããä»®æ³ãã·ã³ã§åé¡ãåçŸããããšãã§ããŸããã saveRDS
ãšxgb.save.raw
ã«åé¡ãããããã§ãã 代ããã«xgb.save
ãšxgb.load
ã䜿çšããŠã¿ãŸãããïŒ ãã®äžé£ã®é¢æ°ã¯ãXGBoostã¢ãã«ã®ããã€ãã£ãã圢åŒã䜿çšããRç°å¢ã«åºæã®å±æ§ãä¿åããŸããã ã¢ãã«ãRããã±ãŒãžããPythonã«è»¢éããå Žåã«äŸ¿å©ã§ãã
çã®ä¿åã¯åé¡ã«ã¯ãªããªãã¯ãã§ãã åé¡ã¯ãRãRã³ãŒããã·ãªã¢ã«åããæ¹æ³ã«ããå¯èœæ§ããããŸãã äºæž¬ããæ°ãããªãã·ã§ã³ã®ãã©ã¡ãŒã¿ãŒãè¿œå ããŸãããããã¯ããããã®çš®é¡ã®ã·ãªã¢ã«åã®èªã¿èŸŒã¿ã«åœ±é¿ãäžããå¯èœæ§ããããŸãã ç§ã¯ããã調ã¹ãŠã¿ãŸããããPythonã®ãã¯ã«ã¹ã®åé¡ãšåãããã«ãæ¬åœã«é¢šå€ãããªããã§ãã
@trivialfisãããåé¿ããå¯èœæ§ã®ããäºæž¬é¢æ°ã®ãªãã·ã§ã³ã«é¢ããã¢ã€ãã¢ã¯ãããŸããïŒ ç§ã®èãã§ã¯ãããã¯CPUåœä»€ãšé¢ä¿ããããããã±ãŒãžã§å¯ŸåŠã§ãããããRã®æ¹ãæ·±ãå¯èœæ§ããããŸãã
@ hcho3 xgb.save.rawãçŸåšã®ããŒã¿ãã€ãã«è¿œå ããŠã¿ãŠãããã圹ç«ã€ãã©ããã確èªããŸãã éä¿¡ããäŸã§ã¯ãäºæž¬ãæ©èœããã³ã³ãã¥ãŒã¿ãŒã§xgb.save.rawã䜿çšããŠãããè©ŠããŸããããæ®å¿µãªãããxgb.loadã§numericïŒ0ïŒãçºçããŸãã 確ãã«ãããã¯ã¢ãã«ããã§ã«saveRDSãä»ããŠä¿åãããåŸã®ããšã§ãããäœæãããç°å¢ã§ãŸã æ©èœããŠããã«ããããããããããããã®ããã»ã¹ã«é¢ããäœããã¢ãã«ãç ŽæããŠããŸãã
ç§ã®ç¥ãéããã¢ãã«ãäœæãããç°å¢ã«ã¯ã䜿çšããããã¹ãŠã®ç°å¢ã«ååšããå¿ èŠãããäœãããŸã ãããŸãã ã§ããããäœãªã®ãããããŸããã
ãããã xgb.save.raw
xgb.save
ãæå³ããŸããã
@trivialfisXGBoostããã±ãŒãžã¯CRANã§ã¯ãŸã 0.90ã§ããããšã«æ³šæããŠãã ããã
xgb.saveãè©Šããxgb.loadïŒïŒãä»ããŠRã«ããŒãããŸãããåãããšãnumericïŒ0ïŒã§ãã xgb.saveããæ·»ä»ãåç §ããŠãã ãã
ãŸããã¢ãã«ãçæããã®ãšåãã³ã³ãã¥ãŒã¿ãŒã§ããã®ã¹ã¬ããã®ååã«ããmodelListã®ããŒã¿ã䜿çšããŠãåãã¡ãœããããã¹ãããŸãããããã§æ©èœããŸããã
xgb.saveãxgb.save.rawãsaveRDSãªã©ãã©ã®ããã«ã¹ã©ã€ã¹ããŠããã¢ãã«ãäœæãããã³ã³ãã¥ãŒã¿ãŒç°å¢ã«ã¯ãä»ã®å Žæã§ã®äœ¿çšã劚ããäœãããããŸãã
ãæäŸããã ããã¢ãã«ãã¡ã€ã«ã䜿çšããŠãåé¡ãåçŸããããšãã§ããŸãã ãã ããã¢ãã«ãã¡ã€ã«ãã©ã®ããã«çæããããã¯ããããŸããã ããå€ãã®ã³ã³ããã¹ããæäŸã§ããŸããïŒ
OS XïŒã«ã¿ãªãïŒã ãœãŒã¹ããã®XGBoostãã«ãã1.0ïŒã·ã¹ãã ã§ãµããŒããããŠããopenMPïŒã saveRDSã䜿çšããŠæåã«ä¿åãããã¢ãã«ã åå®è¡ããŠãããŸããŸãªæ¹æ³ã§ä¿åããŠãå ±åããŠã¿ãŸãã
ã¢ãã«ãæåããåçæããxgb.saveã䜿çšããŠä¿åãïŒããšãã°ãäºæž¬ããŒã¿ãé€ããŠsaveRDSãŸãã¯readRDSã䜿çšããªãïŒãxgb.loadã䜿çšããŠããŒãããŸããã åãçµæ-äºæž¬ã¯ãã¢ãã«ã®çæã«äœ¿çšãããã³ã³ãã¥ãŒã¿ãŒã·ã¹ãã ïŒOS XãXGB 1.0ïŒã§æ©èœããå¥ã®ã·ã¹ãã ïŒWindows 7ãXGB 0.9ïŒã§ã¯å€±æããŸãã ãããšmodelListããã®ã¡ãã»ãŒãžã«æ·»ä»ããŸãã ãã®åé¡ã®èšºæã«åœ¹ç«ã€ããšãä»ã«ããå Žåã¯ããç¥ãããã ããã
xgb_model <- xgb.load("Z:/Desktop/newxgbModelSaved.xgb")
modelList <- readRDS("Z:/Desktop/modelList2.rdata")
attach(modelList)
predict(object=xgb_model, newdata=as.matrix(caretModel$trainingData[,!colnames(caretModel$trainingData) %in% ".outcome"]))
numeric(0)
@ leedrake5Windowsã§XGBoost1.0ã䜿çšããããšã¯å¯èœã§ããïŒ
@trivialfisããã¯ãã¢ãã«ãã¡ã€ã«ã®äžäœäºææ§ã«é¢ããåé¡ã§ããå¯èœæ§ããããŸãã
ããã¯ééããªãããŒãžã§ã³ç®¡çã§ãã XGBoostã®1.0ããŒãžã§ã³ãããããããCRANãã0.9ãã€ã³ã¹ããŒã«ãããšãããäžèšã®æ¹æ³ãæ©èœããŸããã
ææ°ãªãªãŒã¹ã䜿çšããŠãœãŒã¹ãã0.90ãã€ã³ã¹ããŒã«ããããšããŸããããdmlc-coreãã©ã«ããŒã空ã§ãããããCmakeã¯å¿ èŠãªãšã©ãŒãã¹ããŒããŸãã openMPã®æ©èœãç¶æãããã®ã§ãããããã¯å¯èœã§ãã
ããã§ããã Windowsã«1.0.0ããŒãžã§ã³ãã€ã³ã¹ããŒã«ããããšããŸãããïŒ
å¥åŠãªããšã«ãããããã®ã¹ã¬ããã®æåã®çç±ã§ããã è©ŠããŠã¿ãŸããããããžã§ã¯ãããã以äžåŸ ãŠãªããããé 延ãçºçããŸãã ãããåé¡ã§ããå Žåãç§ãéä¿¡ããubuntuä»®æ³ã€ã¡ãŒãžã«ãœãŒã¹ãã1.0ãã€ã³ã¹ããŒã«ãããšãåãåé¡ã«å¯ŸåŠã§ãããšæããŸãã
@ leedrake5ã¯ããXGBoostã®ããŒãžã§ã³ãšäžèŽããå¿ èŠããããŸãã ã©ãã§ã0.90ã䜿çšããããã©ãã§ã1.0.0ã䜿çšããŸãã
@trivialfisãã€ããªã¢ãã«åœ¢åŒã«é倧ãªå€æŽãå ããããšãæãåºããŸãã ããã§ããïŒ
ããããäžäœäºææ§ããããŸãã1.0ã¯ééããªã0.9ããã¢ãã«ãããŒãããå¿ èŠããããŸã
@trivialfis説æããŠãããŠããããšãã ãã®å Žåãäžäœäºææ§ãæåŸ ããŠåäŸãèŠã€ããã®ã§ããã®ãã±ããããã°ãšããŠæ±ããŸãããã ä»é±èŠãŠãããŸãã
ææ¡ãããã¿ã€ãã«å€æŽã¯éè¡ããŠãããšæããŸãã1.0ã§äœæãããã¢ãã«ã0.90ã§äºæž¬ããããã«äœ¿çšããããšã¯ã§ããŸããã ããŒãžã§ã³éã§ã©ã®çšåºŠã®äºææ§ãæå³ãããŠãããã¯ããããŸããããå°ãªããšãæçãªãšã©ãŒã圹ç«ã€ã¯ãã§ãã
ãã£ãšãç§ã®æªãã
@trivialfis @ leedrake5ãæ±ããŠããã®ã¯ãäžäœäºææ§ãã€ãŸãã¢ãã«ã1.0.0ãã0.90ã«ããŒãããããšã ãšæããŸãã ãããç§ãã¡ãçŽæãããã®ã§ãããã©ããã¯ããããŸããã
@ leedrake5 Ubuntuä»®æ³ãã·ã³ã«1.0.0ãã€ã³ã¹ããŒã«ããããšããŸããããRDSãã¡ã€ã«ãæ£åžžã«èªã¿èŸŒãŸããå®æ°ã®ãã¯ãã«ãåŸãããŸãã ãããã£ãŠãããããããã¯ããŒãžã§ã³ã®åé¡ã§ãã
ç·šéã ã¹ã¯ãªãŒã³ã·ã§ããã®èŠåã¡ãã»ãŒãžã¯å¥åŠã§ãïŒ Loading model from < 1.0.0, consider saving it again
ã ã¢ãã«ã1.0.0ã§äœæãããŠããããšãèãããšãããã¯ããã«ããã¹ãã§ã¯ãããŸããã
åæããŸãã åé¡ãäœã§ãããã«ã€ããŠåæãèšå®ããããšã¯éåžžã«ããããã§ãã
æ®å¿µãªãããæ¬çªç°å¢ã®èŠ³ç¹ãããã¢ãã«ãäžæ¬ããŒãžã§ã³ïŒergoãCRANã€ã³ã¹ããŒã«ïŒã§ãããã€ã§ããããã«ããå¿ èŠããããŸãã ããããç§ã¯ããããXGBoostãæ©èœãããæ¹æ³ãç¥ã£ãŠããŸããããã¯çµ¶å¯ŸçãªéèŠãªãã€ã³ãã§ãã
ãªãªãŒã¹ãŸãã¯ããªãŒããããŠã³ããŒããããœãŒã¹ãã0.9ãã€ã³ã¹ããŒã«ããã®ã«ãŸã åé¡ããããŸãããåé¡ãèŠã€ãã£ããšæããŸãã cubãdmlc-coreãrabitããããã®ããŠã³ããŒãã§ã¯ãã¹ãŠç©ºã®ãã©ã«ããŒã§ãã 圌ããæã£ãŠã @
ã¹ã¯ãªãŒã³ã·ã§ãããåç
§ããŠãã ããïŒ
ã¯ããgitãµãã¢ãžã¥ãŒã«ã䜿çšããŠããããããã«ãåœä»€ã§ã¯ããœãŒã¹ããã€ã³ã¹ããŒã«ããããã«git clone --recursive
ã䜿çšããããã«æ±ããããŸãã CRANã®ã€ã³ã¹ããŒã«ãäžååãªç¶æ³ã«ãããŸããïŒ ã©ãã§ã0.90ã䜿çšãããšåé¡ã解決ããå Žåã¯ãã©ãã§ãCRANã€ã³ã¹ããŒã«ã䜿çšã§ããŸããïŒLinuxãMacãWindowsïŒïŒ
ã¯ã-CRANã¯openMPãèš±å¯ããŠããŸãããããã¯ãã¢ãã«çæã«ãšã£ãŠå€§ããªæ©æµã§ãã ããã§ããããåã³æ©èœãããããã«ãœãŒã¹ããxgboost0.90ãã³ã³ãã€ã«ããæ¹æ³ãç解ããã®ã«å°ãæéãè²»ãããŸãã ãã®åé¡ã®èšºæã«ãååããã ãããããšãããããŸãã
@ leedrake5
ãšã£ãã ä»ã®ãšãããgitãµãã¢ãžã¥ãŒã«ãå«ãå®å šãªãœãŒã¹ã³ãŒããååŸããããã«äœ¿çšã§ããã³ãã³ãã¯æ¬¡ã®ãšããã§ãã
git clone --recursive https://github.com/dmlc/xgboost -b release_0.90
ããã«ãããXGBoostãœãŒã¹ã³ãŒãããã§ãããããrabitãcubãdmlc-coreãã£ã¬ã¯ããªã«ããŒã¿ãå
¥åãããŸãã -b release_0.90
ã¯ãææ°ã§ã¯ãªã0.90ããŒãžã§ã³ãååŸããããã«äœ¿çšãããŸãã
èïŒ
CRANã¯openMPãèš±å¯ããŠããŸãã
ããã¯å®éã«ã¯1.0.0ã§ä¿®æ£ãããŠããŸãã ããã«CRANã§1.0.0ããŒãžã§ã³ãå ¥æããããšæããŸãã
ããããšãããã¹ãŠã®ç¹ã§å€§ãã«æè¬ããŸãïŒ
@ hetong007 1.0.0ãCRANã«æåºã§ããŸããïŒ
@ hcho3æå¹ãªãšã³ãã£ã¢ã³æ€åºãããããšãèãããšãè¯ãããã§ãã 1é±é以å ã«æåºããŸãã
@ hetong007æŽæ°ã¯ãããŸããïŒ äœããæäŒãã§ããããšãããã°æããŠãã ããã
@ hcho3ããããã ãœã©ãªã¹ãã¹ãã®ç°å¢ã¯ãããŸããïŒ 0.9以éã®Solarisã§æªè§£æ±ºã®ãšã©ãŒããããŸãïŒ https ïŒ//www.r-project.org/nosvn/R.check/r-patched-solaris-x86/xgboost-00check.htmlæåºã
@ hetong007VirtualBoxã§å®è¡ã§ããSolarisVMã€ã¡ãŒãžãOracleããããŠã³ããŒãããŸããã åé¡ãåçŸããŠã¿ãŸãããã
@ hetong007Solarisã§Rç°å¢ãã»ããã¢ããããã®ã«å€ãã®åé¡ããããŸãã ç¹ã«ã igraph
ãtestthat
ãªã©ã®Rããã±ãŒãžã¯ãSolaris awk
ãªã©ã®ãŠãŒãã£ãªãã£ã®åäœãç°ãªãããã€ã³ã¹ããŒã«ã§ããŸããã ããã«å
ã«é²ãæ¹æ³ãããããŸããã
@ hcho3ãã£ãšã¯ã£ãããããŠããã ããŸãããïŒ testthat
ãCRANã®solarisãã§ãã¯ã«åæ Œããå Žåã install.packages('testthat')
ã䜿çšããŠRã³ã³ãœãŒã«ã«ããã±ãŒãžãã€ã³ã¹ããŒã«ã§ããããšãã€ã¡ãŒãžããŠããŸãã
@ hetong007ããã±ãŒãžigraph
ã¯æ§æã¹ãããã§awk
ã䜿çšããSolarisã®awk
ã¯GNUawkãšââæ©èœäºææ§ããããŸããã GNU awkãã€ã³ã¹ããŒã«ããããšã¯å¯èœã§ãããããã¯gawk
ãšåŒã°ããŸãã Rã«awk
gawk
ã䜿çšãããæ¹æ³ããŸã ç解ããããšããŠããŸãã
@ hcho3OKããã¯ã²ã©ãã§ããã ã©ãããã°ããã®ãããããªãã CRANã®igraph
ã®çµæããŒãžïŒ https://cran.r-project.org/web/checks/check_results_igraph.htmlïŒã確èªããŸããã æªåããããšã¯ãªããšæããŠããŸãã é¢ä¿ãªãæåºããŸãã
@ hetong007ããããšãã ããæç¹ã§Solarisãã¹ãã«æ»ãããšããŸãã æ¹æ³ããããšç¢ºä¿¡ããŠããŸãã
@ hetong007ãããããã§ããã³ãŒããéä¿¡ãããšãã¯å¿
ããã©ã³ãrelease_1.0.0
ã䜿çšããŠãã ããã
@ hcho3äºåãã§ãã¯ã¯èŠåããŸãïŒ
* checking whether package 'xgboost' can be installed ... WARNING
Found the following significant warnings:
amalgamation/../src/common/hist_util.cc:666:72: warning: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'struct xgboost::tree::GradStats'; use assignment or value-initialization instead [-Wclass-memaccess]
See 'd:/RCompile/CRANguest/R-devel_gcc8/xgboost.Rcheck/00install.out' for details.
00install.out
ãã¡ã€ã«ã¯ããã«ãããŸãïŒçŽ72æéã§å©çšå¯èœïŒïŒ https ïŒ//win-builder.r-project.org/v6XJQBjzgMaW/00install.out
è¿ éãªä¿®æ£ã¯å¯èœã§ããããïŒ
@ hetong007ããã¯ãããã«ãŒã§ããïŒ Memsetã¯ããã¹ãã°ã©ã ïŒæ§é ã®é åïŒã®ãŒãåãé«éåããããã«äœ¿çšãããŸããã ãããCRANããããã¯ããŠããå Žåã¯ããã¯ãã¬ãŒããé 眮ããŠãRããã±ãŒãžã代ããã«éåžžã®ã³ã³ã¹ãã©ã¯ã¿ãŒã䜿çšããããã«ããŸãã
@ hcho3ã¯ãããã¯ãããã«ãŒã§ãã äºåãã§ãã¯ã¯èªååãããŠãããéä¿¡ã¯èŠåãªãã«åæ Œããå¿ èŠããããŸãã ãã¯ãã¯ååã«ããã§ãããããããšãïŒ
@ hcho3æåstd::fill
ã䜿ã£ãŠã¿ãŠãã ããã ã³ã³ãã€ã©ãŒã§ãããããmemset
ã«æé©åã§ããªããããããŸããããç®ã«èŠããããã©ãŒãã³ã¹ãžã®åœ±é¿ãäžããã»ã©éèŠã§ã¯ãªããšæããŸãã
@ hetong007å¿ èŠãªå€æŽãå ããŸããïŒhttps://github.com/dmlc/xgboost/commit/3550b16a34055bc8ec33bf0b7006448e8c1a4ecaïŒã ããäžåºŠããçŽããŸããïŒ
@trivialfis memset
ã眮ãæããããã«ãå¥ã®ãã«ãªã¯ãšã¹ããæåºããŸãã
@ hcho3ä¿®æ£ããŠãããŠããããšãïŒ æ·±å»ãªåé¡ããªããã°ãCRANã«åãã£ãŠããŸãã
@ hcho3ããã§ããªããªãŒææã®Soalrisã§ã¯å€±æããŸãã
On Solaris it was quicker to diagnose the problems with the GCC compilers:
amalgamation/../src/common/io.cc:120:27: error: âPOSIX_FADV_SEQUENTIALâ
was not declared in this scope
posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL);
amalgamation/../src/common/io.cc:120:48: error: âposix_fadviseâ was not
declared in this scope
posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL);
As 'Writing R Extensions' told you, you need to use configure to test
for the presence of non-standard C/C++ functions. In this case, it
seems that line is not actually necessary.
@ hetong007ãããã åé¡ã®ãããã°ã«æéãå²ããŠãããŠããããšãããªããªãŒææã«æããŠãã ããã XGBoostãWindowsãšLinuxã§ãã¹ãããããã®é©åãªãã¹ãæ©èœãããªããããç§ã¯å ã«é²ã¿ãé©åãªLinuxç°å¢ã§ã®ã¿å®è¡ãããããã«ãã®è¡ãä¿è·ããŸãã çæ³çã«ã¯ãCIã®äžéšãšããŠæåã«ãã¹ããããªãéããéæšæºã®C ++æ©èœã¯äœ¿çšããªãã§ãã ããã ãŸããã³ãŒãããŒã¹ãã¹ãã£ã³ããŠä»ã®éæšæºã®C ++æ©èœãæ¢ããããããåé€ããå¿ èŠããããŸãã cc @trivialfis
@ hcho3ã¯ç§ã«ã¯ããã§ããã ãªããªãŒææããã®CRANãžã®æ°èŠæåºã®ç· ãåãã¯2020-04-06ã§ãã 詳现ãªã€ã³ã¹ããŒã«ãã°ã«èå³ãããå Žåã¯ã httpsïŒ//cran.r-project.org/web/checks/check_results_xgboost.htmlã«ã¢ã¯ã»ã¹ããŠãã ããã
@ hetong007ã³ãããhttps://github.com/dmlc/xgboost/commit/d83db4844bae5969609e58cd6bb201e7831cfaa3ã§åé¡ã«å¯ŸåŠããå¿ èŠããããŸãã ç§ã¯ã€ãã«ææ°ã®RãSolarisVMã§åäœãããXGBoostã®CRANãã§ãã¯ãå®è¡ããããšãã§ããŸããã
@ hcho3çŽ æŽãããïŒ Solarisã®ãã§ãã¯ã«åæ Œããã®ã§ããããåãããšã¯ã§ããŸããïŒ
ã¯ããä»ããæåºããå¿ èŠããããŸãã
ããã«ã¡ã¯ãç§ã¯Pythonã§åæ§ã®åé¡ã«çŽé¢ããŠããŸãã xgboost 1.0.1ãä»ããŠã¢ãã«ãä¿åããxgboost 0.9ãä»ããŠããŒãããŸããããäºæž¬ã¯ç©ºã®ãªã¹ãã§ãã ç§ãã¡ã®æ¬çªç°å¢ã¯xgboost0.9ã䜿çšããŠããã®ã§ãsaved-via-xgboost-1.0ã¢ãã«ãxgboost0.9ã«ããŒãã§ããæ¹æ³ããããã©ããçåã«æã£ãŠããŸãã
@ hcho3ã¹ãããã·ã§ãããå ±æããæ¹æ³ã¯ãããŸããïŒ ä»åŸã®æåºã«ã圹ç«ã¡ãŸãã
@sunhsç§ãåæ§ã®åé¡ã«çŽé¢ããŠããŸãã ããã解決ã§ããŸãããïŒ
@giladmayaããç·ã ããã€ãã®æ¹æ³ãè©ŠããåŸãã¢ãã«ãåãã¬ãŒãã³ã°ããããšã§æéãç¯çŽã§ãããšæçµçã«å€æããŸããã
æ°ããããŒãžã§ã³ã®ã¢ãã«ãå€ãããŒãžã§ã³ã§ãµããŒããããããšãçŽæã§ããªãããããããéããŸãã ããã¯ãPlayStation 4ãè³Œå ¥ããŠãPlayStation5çšã«éçºãããã²ãŒã ãããŒãããããšãããããªãã®ã§ãã
äžäœäºææ§ã®ã¿ãçŽæããŠãããããå€ãããŒãžã§ã³ã䜿çšããŠã¢ãã«ãä¿åããæ°ããããŒãžã§ã³ã䜿çšããŠããŒããçŽãããšãã§ããŸãã ããã¯ãã¢ãã«åœ¢åŒãæéã®çµéãšãšãã«åŸã ã«é²åã§ããããã«ããããã§ãã
æãåèã«ãªãã³ã¡ã³ã
Linuxã§åé¡ãæ£åžžã«åçŸããŸãããæ·»ä»ã®ã¹ã¯ãªãŒã³ã·ã§ãããåç §ããŠãã ããã
ä»®æ³ããã¯ã¹ãdropboxã«ã¢ããããŒãããŠããŸãã ãã ããæåããã€ã³ã¹ããŒã«ãããå Žåã¯ãè€è£œããæé ã¯æ¬¡ã®ãšããã§ãã
install.packages(c("caret", "xgboost"))
ãããŠãããã¯ä»ã§ã¯ããªãã¿ã®ãã®ãè¿ããŸããïŒ
泚ïŒæ瀺çãªåŒã³åºãã©ã€ãã©ãªãè©Šããäºæž¬ãè©ŠããŸããã ã©ã¡ããåãnumericïŒ0ïŒå¿çã«ãªããŸããã