2016-06-12 8 views
4

私はDecisionTreeモジュールを使用してJuliaで剪定された意思決定ツリーモデルを訓練しました。私は今、このモデルを後で他のデータセットで使うために保存したいと思っています。Juliaでの後での適用のための意思決定ツリーモデルの保存

モデルを書き出し可能なデータ配列に変換しようとしましたが、writetable()を使って書き出しましたが、writedlm()を使用して書き出しを試みましたが、どちらも動作しませんでした。モデルの型を見ると、DecisionTree.Node型であることがわかります。私はこれでどのように作業するのか分からず、エクスポート/保存することができません。

In:DataFrame(PrunedModel) 
Out:LoadError: MethodError: `convert` has no method matching convert(::Type{DataFrames.DataFrame}, ::DecisionTree.Node) 
This may have arisen from a call to the constructor DataFrames.DataFrame(...), 
since type constructors fall back to convert methods. 
Closest candidates are: 
    call{T}(::Type{T}, ::Any) 
    convert(::Type{DataFrames.DataFrame}, !Matched::Array{T,2}) 
    convert(::Type{DataFrames.DataFrame}, !Matched::Dict{K,V}) 
    ... 
while loading In[22], in expression starting on line 1 
in call at essentials.jl:56 

In:typeof(PrunedModel) 
Out:DecisionTree.Node 

どのようにこのモデルを後で使用するために保存することができますか?

答えて

6

これがJuliaオブジェクトであることを正しく理解していれば、JLD.jlパッケージを使用してオブジェクトをディスクに保存し、再度読み込んでタイプ情報を保持してください。

+2

ありがとう、これは完全に機能しました。保存した.jldファイルを新しいセッションにインポートすると、最初にDecisionTreeを使用してセッションにインポートするデータの構造を理解できるようにする必要がありましたが、JLDを使用して完全に機能しました。 – lara

関連する問題