人気ブログランキング | 話題のタグを見る

[R][e1071]libsvmのモデルのインポート/エクスポート

e1071パッケージ には write.svm という、モデルを出力する関数があるけれど、
逆の read.svm は実装されていない。

世界中で load model はどうするの?、という質問がたくさん出ている。
僕の github のコードを使ったらいいよ、とか
そんなんばっかりで、あんまりばちっとした回答が書いてあるページがない。

では、モデルのインポート、エクスポートはどうするか。
write.svm は人が読める形式で出力するための関数のようだ。
ので、write.svm でエクスポートしてもダメ、というのが答えかも。
この形式をインポートしても良いけど、
わざわざ人が読める形式にしてあるので、
読み込んでもたぶん dog slow だろう。

というわけで、普通にオブジェクトのバイナリダンプが良いみたい。
確認してみたけど、ダンプ前後でモデルは変わらなかった。

library("e1071")
svm_model <- svm(Species~., data=iris)
modelfile <- "model.svm"
save(svm_model, file=modelfile)
svm_model_loaded = load(modelfile)

by xiaoxia | 2016-08-23 17:55 | ソフトウェア
<< [firefox]cookie... HP Envy 700-060... >>