Sha256: b4e574178f043ccd0db1771a81f245661c11c7333acfb4487e1df55f8f81ec54

Contents?: true

Size: 1.56 KB

Versions: 9

Compression:

Stored size: 1.56 KB

Contents

require 'weka/core/converters'

module Weka
  module Core
    class Saver
      java_import 'java.io.File'

      class << self
        def save_arff(file:, instances:)
          save_with(Converters::ArffSaver, file: file, instances: instances)
        end

        def save_csv(file:, instances:)
          save_with(Converters::CSVSaver, file: file, instances: instances)
        end

        def save_json(file:, instances:)
          save_with(Converters::JSONSaver, file: file, instances: instances)
        end

        # Saves the given `instances` into a file with the given name and a
        # *.data file in the same directory.
        # The file with the given file name includes the instances's attribute
        # values, the *.data file holds the actual data.
        #
        # Example:
        #
        #   Weka::Core::Saver.save_c45(
        #     file: './path/to/example.names',
        #     instances: instances
        #   )
        #
        # creates an example.names file and an example.data file in the
        # ./path/to/ directory.
        #
        # See: http://www.cs.washington.edu/dm/vfml/appendixes/c45.htm for more
        # information about the C4.5 file format.
        def save_c45(file:, instances:)
          save_with(Converters::C45Saver, file: file, instances: instances)
        end

        private

        def save_with(saver_class, file:, instances:)
          saver           = saver_class.new
          saver.instances = instances
          saver.file      = File.new(file)

          saver.write_batch
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
weka-0.8.0-java lib/weka/core/saver.rb
weka-0.7.4-java lib/weka/core/saver.rb
weka-0.7.3-java lib/weka/core/saver.rb
weka-0.7.2-java lib/weka/core/saver.rb
weka-0.7.1-java lib/weka/core/saver.rb
weka-0.7.0-java lib/weka/core/saver.rb
weka-0.6.0-java lib/weka/core/saver.rb
weka-0.5.0-java lib/weka/core/saver.rb
weka-0.4.0-java lib/weka/core/saver.rb