Class: Libmf::Model
- Inherits:
-
Object
- Object
- Libmf::Model
- Defined in:
- lib/libmf/model.rb
Instance Method Summary collapse
- #bias ⇒ Object
- #columns ⇒ Object
- #cv(data, folds: 5) ⇒ Object
- #factors ⇒ Object
- #fit(data, eval_set: nil) ⇒ Object
-
#initialize(**options) ⇒ Model
constructor
A new instance of Model.
- #load_model(path) ⇒ Object
- #p_factors(format: nil) ⇒ Object
- #predict(row, column) ⇒ Object
- #q_factors(format: nil) ⇒ Object
- #rows ⇒ Object
- #save_model(path) ⇒ Object
Constructor Details
#initialize(**options) ⇒ Model
Returns a new instance of Model.
3 4 5 |
# File 'lib/libmf/model.rb', line 3 def initialize(**) @options = end |
Instance Method Details
#bias ⇒ Object
50 51 52 |
# File 'lib/libmf/model.rb', line 50 def bias model[:b] end |
#columns ⇒ Object
42 43 44 |
# File 'lib/libmf/model.rb', line 42 def columns model[:n] end |
#cv(data, folds: 5) ⇒ Object
25 26 27 28 |
# File 'lib/libmf/model.rb', line 25 def cv(data, folds: 5) problem = create_problem(data) FFI.mf_cross_validation(problem, folds, param) end |
#factors ⇒ Object
46 47 48 |
# File 'lib/libmf/model.rb', line 46 def factors model[:k] end |
#fit(data, eval_set: nil) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/libmf/model.rb', line 7 def fit(data, eval_set: nil) train_set = create_problem(data) @model = if eval_set eval_set = create_problem(eval_set) FFI.mf_train_with_validation(train_set, eval_set, param) else FFI.mf_train(train_set, param) end nil end |
#load_model(path) ⇒ Object
34 35 36 |
# File 'lib/libmf/model.rb', line 34 def load_model(path) @model = FFI.mf_load_model(path) end |
#p_factors(format: nil) ⇒ Object
54 55 56 |
# File 'lib/libmf/model.rb', line 54 def p_factors(format: nil) _factors(model[:p], rows, format) end |
#predict(row, column) ⇒ Object
21 22 23 |
# File 'lib/libmf/model.rb', line 21 def predict(row, column) FFI.mf_predict(model, row, column) end |
#q_factors(format: nil) ⇒ Object
58 59 60 |
# File 'lib/libmf/model.rb', line 58 def q_factors(format: nil) _factors(model[:q], columns, format) end |
#rows ⇒ Object
38 39 40 |
# File 'lib/libmf/model.rb', line 38 def rows model[:m] end |
#save_model(path) ⇒ Object
30 31 32 |
# File 'lib/libmf/model.rb', line 30 def save_model(path) FFI.mf_save_model(model, path) end |