Class: Lda::Backends::Native

Inherits:
Base
  • Object
show all
Defined in:
lib/lda-ruby/backends/native.rb

Constant Summary collapse

REQUIRED_NATIVE_METHODS =
i[
  __native_fast_load_corpus_from_file
  __native_load_settings
  __native_set_config
  __native_em
  __native_beta
  __native_gamma
  __native_compute_phi
  __native_model
  __native_set_corpus
  __native_max_iter
  __native_set_max_iter
  __native_convergence
  __native_set_convergence
  __native_em_max_iter
  __native_set_em_max_iter
  __native_em_convergence
  __native_set_em_convergence
  __native_init_alpha
  __native_set_init_alpha
  __native_num_topics
  __native_set_num_topics
  __native_est_alpha
  __native_set_est_alpha
  __native_verbose
  __native_set_verbose
].freeze

Instance Attribute Summary

Attributes inherited from Base

#corpus

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#topic_document_probability

Constructor Details

#initialize(host, random_seed: nil) ⇒ Native

Returns a new instance of Native.



38
39
40
41
# File 'lib/lda-ruby/backends/native.rb', line 38

def initialize(host, random_seed: nil)
  super(random_seed: random_seed)
  @host = host
end

Class Method Details

.available?(host) ⇒ Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/lda-ruby/backends/native.rb', line 34

def self.available?(host)
  REQUIRED_NATIVE_METHODS.all? { |method_name| host.respond_to?(method_name, true) }
end

Instance Method Details

#betaObject



141
142
143
# File 'lib/lda-ruby/backends/native.rb', line 141

def beta
  @host.__send__(:__native_beta)
end

#compute_phiObject



149
150
151
# File 'lib/lda-ruby/backends/native.rb', line 149

def compute_phi
  @host.__send__(:__native_compute_phi)
end

#convergenceObject



81
82
83
# File 'lib/lda-ruby/backends/native.rb', line 81

def convergence
  @host.__send__(:__native_convergence)
end

#convergence=(value) ⇒ Object



85
86
87
# File 'lib/lda-ruby/backends/native.rb', line 85

def convergence=(value)
  @host.__send__(:__native_set_convergence, Float(value))
end

#corpus=(corpus) ⇒ Object



47
48
49
50
# File 'lib/lda-ruby/backends/native.rb', line 47

def corpus=(corpus)
  @corpus = corpus
  @host.__send__(:__native_set_corpus, corpus)
end

#em(start) ⇒ Object



137
138
139
# File 'lib/lda-ruby/backends/native.rb', line 137

def em(start)
  @host.__send__(:__native_em, start)
end

#em_convergenceObject



97
98
99
# File 'lib/lda-ruby/backends/native.rb', line 97

def em_convergence
  @host.__send__(:__native_em_convergence)
end

#em_convergence=(value) ⇒ Object



101
102
103
# File 'lib/lda-ruby/backends/native.rb', line 101

def em_convergence=(value)
  @host.__send__(:__native_set_em_convergence, Float(value))
end

#em_max_iterObject



89
90
91
# File 'lib/lda-ruby/backends/native.rb', line 89

def em_max_iter
  @host.__send__(:__native_em_max_iter)
end

#em_max_iter=(value) ⇒ Object



93
94
95
# File 'lib/lda-ruby/backends/native.rb', line 93

def em_max_iter=(value)
  @host.__send__(:__native_set_em_max_iter, Integer(value))
end

#est_alphaObject



121
122
123
# File 'lib/lda-ruby/backends/native.rb', line 121

def est_alpha
  @host.__send__(:__native_est_alpha)
end

#est_alpha=(value) ⇒ Object



125
126
127
# File 'lib/lda-ruby/backends/native.rb', line 125

def est_alpha=(value)
  @host.__send__(:__native_set_est_alpha, Integer(value))
end

#fast_load_corpus_from_file(filename) ⇒ Object



52
53
54
# File 'lib/lda-ruby/backends/native.rb', line 52

def fast_load_corpus_from_file(filename)
  @host.__send__(:__native_fast_load_corpus_from_file, filename)
end

#gammaObject



145
146
147
# File 'lib/lda-ruby/backends/native.rb', line 145

def gamma
  @host.__send__(:__native_gamma)
end

#init_alphaObject



105
106
107
# File 'lib/lda-ruby/backends/native.rb', line 105

def init_alpha
  @host.__send__(:__native_init_alpha)
end

#init_alpha=(value) ⇒ Object



109
110
111
# File 'lib/lda-ruby/backends/native.rb', line 109

def init_alpha=(value)
  @host.__send__(:__native_set_init_alpha, Float(value))
end

#load_settings(settings_file) ⇒ Object



56
57
58
# File 'lib/lda-ruby/backends/native.rb', line 56

def load_settings(settings_file)
  @host.__send__(:__native_load_settings, settings_file)
end

#max_iterObject



73
74
75
# File 'lib/lda-ruby/backends/native.rb', line 73

def max_iter
  @host.__send__(:__native_max_iter)
end

#max_iter=(value) ⇒ Object



77
78
79
# File 'lib/lda-ruby/backends/native.rb', line 77

def max_iter=(value)
  @host.__send__(:__native_set_max_iter, Integer(value))
end

#modelObject



153
154
155
# File 'lib/lda-ruby/backends/native.rb', line 153

def model
  @host.__send__(:__native_model)
end

#nameObject



43
44
45
# File 'lib/lda-ruby/backends/native.rb', line 43

def name
  "native"
end

#num_topicsObject



113
114
115
# File 'lib/lda-ruby/backends/native.rb', line 113

def num_topics
  @host.__send__(:__native_num_topics)
end

#num_topics=(value) ⇒ Object



117
118
119
# File 'lib/lda-ruby/backends/native.rb', line 117

def num_topics=(value)
  @host.__send__(:__native_set_num_topics, Integer(value))
end

#set_config(init_alpha, num_topics, max_iter, convergence, em_max_iter, em_convergence, est_alpha) ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/lda-ruby/backends/native.rb', line 60

def set_config(init_alpha, num_topics, max_iter, convergence, em_max_iter, em_convergence, est_alpha)
  @host.__send__(
    :__native_set_config,
    init_alpha,
    num_topics,
    max_iter,
    convergence,
    em_max_iter,
    em_convergence,
    est_alpha
  )
end

#verboseObject



129
130
131
# File 'lib/lda-ruby/backends/native.rb', line 129

def verbose
  @host.__send__(:__native_verbose)
end

#verbose=(value) ⇒ Object



133
134
135
# File 'lib/lda-ruby/backends/native.rb', line 133

def verbose=(value)
  @host.__send__(:__native_set_verbose, !!value)
end