高速・省メモリにlibsvm形式で ダンプする方法を研究してみた

28
libsvm 2016/11/27 hskksk @ JapanR 2016

Upload: keisuke-hosaka

Post on 06-Jan-2017

643 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた

libsvm

2016/11/27hskksk @ JapanR 2016

Page 2: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた
Page 3: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた

• :

• : R, Python, C++

• :

• :

Page 4: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた

xgboost kaggler

Page 5: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた

Bosch Production LinePerformance 15

Page 6: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた

xgboost

Page 7: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた

xgb.DMatrix

Page 8: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた
Page 9: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた
Page 10: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた

# 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形式で ダンプする方法を研究してみた

cbind

Page 12: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた

※cbind rm(vars); gc()

Page 13: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた
Page 14: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた

xgb.DMatrix

Page 15: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた
Page 16: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた
Page 17: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた

Python

Page 18: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた

libsvm※R

Page 19: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた

1. cbind libsvm2. DMatrix

Page 20: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた
Page 21: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた

cbind libsvm

data.table::fwrite_libsvm(list_of_matrices, file)

Page 22: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた

data.table fork fwrite

Page 23: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた

# 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形式で ダンプする方法を研究してみた
Page 25: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた

fwrite OpenMP

8.5GB/120sec @ Xeon 2.5GHz ✕ 8

Page 26: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた

data.table PR

Page 27: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた

https://github.com/hskksk/data.table

kaggler !!

Page 28: 高速・省メモリにlibsvm形式で ダンプする方法を研究してみた

Enjoy Kaggling with R !!