Sha256: f581528ccf176f2c00ea7ff01afc93dd64fc098dc592109f35ebecf941da915f

Contents?: true

Size: 886 Bytes

Versions: 1

Compression:

Stored size: 886 Bytes

Contents

module Tomoto
  class SLDA
    def self.new(tw: :one, min_cf: 0, min_df: 0, rm_top: 0, k: 1, vars: "", alpha: 0.1, eta: 0.01, mu: [], nu_sq: [], glm_param: [], seed: nil)
      model = _new(to_tw(tw), k, vars.split("").map { |v| to_glm(v) }, alpha, eta, mu, nu_sq, glm_param, seed || -1)
      model.instance_variable_set(:@min_cf, min_cf)
      model.instance_variable_set(:@min_df, min_df)
      model.instance_variable_set(:@rm_top, rm_top)
      model
    end

    def add_doc(doc, y: [])
      _add_doc(prepare_doc(doc), y)
    end

    def var_type(var_id)
      raise "train() should be called first" unless @prepared
      _var_type(var_id)
    end

    private

    class << self
      private

      def to_glm(v)
        case v
        when "l"
          0
        when "b"
          1
        else
          raise "Invalid var: #{v}"
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tomoto-0.1.1 lib/tomoto/slda.rb