高速・省メモリにlibsvm形式で ダンプする方法を研究してみた
TRANSCRIPT
![Page 1: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/1.jpg)
libsvm
2016/11/27hskksk @ JapanR 2016
![Page 2: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/2.jpg)
![Page 3: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/3.jpg)
• :
• : R, Python, C++
• :
• :
![Page 4: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/4.jpg)
xgboost kaggler
![Page 5: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/5.jpg)
Bosch Production LinePerformance 15
![Page 6: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/6.jpg)
xgboost
![Page 7: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/7.jpg)
xgb.DMatrix
![Page 8: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/8.jpg)
![Page 9: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/9.jpg)
![Page 10: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/10.jpg)
# feature
label = readRDS("label.rds")feature_set_A = readRDS("feature_set_A.rds")feature_set_B = readRDS("feature_set_B.rds")
# feature cbind
mat = cbind( feature_set_A, feature_set_B)
↑# DMatrix
dmat = xgb.DMatrix(mat, label=label)
![Page 11: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/11.jpg)
cbind
![Page 12: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/12.jpg)
※cbind rm(vars); gc()
![Page 13: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/13.jpg)
![Page 14: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/14.jpg)
xgb.DMatrix
![Page 15: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/15.jpg)
![Page 16: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/16.jpg)
![Page 17: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/17.jpg)
Python
![Page 18: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/18.jpg)
libsvm※R
![Page 19: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/19.jpg)
1. cbind libsvm2. DMatrix
![Page 20: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/20.jpg)
![Page 21: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/21.jpg)
cbind libsvm
data.table::fwrite_libsvm(list_of_matrices, file)
![Page 22: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/22.jpg)
data.table fork fwrite
![Page 23: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/23.jpg)
# feature
label = readRDS("label.rds")feature_set_A = fread("feature_set_A.csv")feature_set_B = fread("feature_set_B.csv")
# feature list
# 1 label
matrices = list(label, feature_set_A, feature_set_B)
# libsvm
fwrite_libsvm(matrices, "libsvm.txt")
# DMatrix
dmat = xgb.DMatrix("libsvm.txt")
![Page 24: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/24.jpg)
![Page 25: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/25.jpg)
fwrite OpenMP
8.5GB/120sec @ Xeon 2.5GHz ✕ 8
![Page 26: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/26.jpg)
data.table PR
![Page 27: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/27.jpg)
https://github.com/hskksk/data.table
kaggler !!
![Page 28: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた](https://reader030.vdocuments.net/reader030/viewer/2022020113/586e8b5c1a28aba0038b7fc7/html5/thumbnails/28.jpg)
Enjoy Kaggling with R !!