vowpalwabbit 0.1.3 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/README.md +3 -3
- data/lib/vowpalwabbit/classifier.rb +1 -1
- data/lib/vowpalwabbit/ffi.rb +1 -1
- data/lib/vowpalwabbit/model.rb +8 -1
- data/lib/vowpalwabbit/version.rb +1 -1
- data/lib/vowpalwabbit.rb +4 -4
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 75746e7efe8fd978814c5b22deff8bb496e45f43dbc05e23d54b120396fd271c
|
4
|
+
data.tar.gz: 8d69b63c36598da996bdd9753ea7b693cedc709da0fb35603e24ad7ecd60d0ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6b82a3d0f584466db539656c2e987fe40721b5cb9e7a6c10d4fcd3ff5350475a4d4d22ce0192efe15f6737a8d5526de61c5a85ff142eea31b32ec7129302371e
|
7
|
+
data.tar.gz: eab978e6734ff3e53f48ad8beb3435ef74c24e1c8615c9ec10863fc03e3b33e0dbf88a673cc578dc1f8b7389f84d7e21528625dd9188cd35b38ad2b5f586f8a3
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
## 0.3.0 (2024-10-23)
|
2
|
+
|
3
|
+
- Dropped support for Ruby < 3.1
|
4
|
+
|
5
|
+
## 0.2.0 (2022-09-02)
|
6
|
+
|
7
|
+
- Prefer `save` over `save_model`
|
8
|
+
- Prefer `load` over `load_model`
|
9
|
+
- Dropped support for Ruby < 2.7
|
10
|
+
|
1
11
|
## 0.1.3 (2022-02-02)
|
2
12
|
|
3
13
|
- Added support for Ubuntu package
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
[Vowpal Wabbit](https://vowpalwabbit.org) - fast online machine learning - for Ruby
|
4
4
|
|
5
|
-
[](https://github.com/ankane/vowpalwabbit-ruby/actions)
|
6
6
|
|
7
7
|
## Installation
|
8
8
|
|
@@ -51,13 +51,13 @@ model.predict(x)
|
|
51
51
|
Save the model to a file
|
52
52
|
|
53
53
|
```ruby
|
54
|
-
model.
|
54
|
+
model.save("model.bin")
|
55
55
|
```
|
56
56
|
|
57
57
|
Load the model from a file
|
58
58
|
|
59
59
|
```ruby
|
60
|
-
model.
|
60
|
+
model = VowpalWabbit::Regressor.load("model.bin")
|
61
61
|
```
|
62
62
|
|
63
63
|
Train online
|
@@ -12,7 +12,7 @@ module VowpalWabbit
|
|
12
12
|
def score(x, y = nil)
|
13
13
|
y_pred, y = predict_for_score(x, y)
|
14
14
|
y_pred.map! { |v| v >= 0 ? 1 : -1 }
|
15
|
-
y_pred.zip(y).
|
15
|
+
y_pred.zip(y).count { |yp, yt| yp == yt } / y.count.to_f
|
16
16
|
end
|
17
17
|
end
|
18
18
|
end
|
data/lib/vowpalwabbit/ffi.rb
CHANGED
@@ -9,7 +9,7 @@ module VowpalWabbit
|
|
9
9
|
raise LoadError, "Could not find Vowpal Wabbit"
|
10
10
|
end
|
11
11
|
|
12
|
-
# https://github.com/VowpalWabbit/vowpal_wabbit/blob/master/vowpalwabbit/vwdll.h
|
12
|
+
# https://github.com/VowpalWabbit/vowpal_wabbit/blob/master/vowpalwabbit/c_wrapper/include/vw/c_wrapper/vwdll.h
|
13
13
|
# keep same order
|
14
14
|
|
15
15
|
attach_function :VW_InitializeA, %i[string], :pointer
|
data/lib/vowpalwabbit/model.rb
CHANGED
@@ -46,6 +46,7 @@ module VowpalWabbit
|
|
46
46
|
File.binwrite(filename, bin_str)
|
47
47
|
nil
|
48
48
|
end
|
49
|
+
alias_method :save, :save_model
|
49
50
|
|
50
51
|
def load_model(filename)
|
51
52
|
bin_str = File.binread(filename)
|
@@ -55,6 +56,12 @@ module VowpalWabbit
|
|
55
56
|
nil
|
56
57
|
end
|
57
58
|
|
59
|
+
def self.load(filename)
|
60
|
+
model = new
|
61
|
+
model.load_model(filename)
|
62
|
+
model
|
63
|
+
end
|
64
|
+
|
58
65
|
private
|
59
66
|
|
60
67
|
# TODO clean-up handle
|
@@ -82,7 +89,7 @@ module VowpalWabbit
|
|
82
89
|
end
|
83
90
|
|
84
91
|
def check_param(v)
|
85
|
-
raise ArgumentError, "Invalid parameter" if /[[:space:]]/.match(v)
|
92
|
+
raise ArgumentError, "Invalid parameter" if /[[:space:]]/.match?(v)
|
86
93
|
end
|
87
94
|
|
88
95
|
def predict_example(example)
|
data/lib/vowpalwabbit/version.rb
CHANGED
data/lib/vowpalwabbit.rb
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
require "ffi"
|
3
3
|
|
4
4
|
# modules
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
require_relative "vowpalwabbit/model"
|
6
|
+
require_relative "vowpalwabbit/classifier"
|
7
|
+
require_relative "vowpalwabbit/regressor"
|
8
|
+
require_relative "vowpalwabbit/version"
|
9
9
|
|
10
10
|
module VowpalWabbit
|
11
11
|
class Error < StandardError; end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vowpalwabbit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Kane
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-10-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|
@@ -51,14 +51,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '3.1'
|
55
55
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
57
|
- - ">="
|
58
58
|
- !ruby/object:Gem::Version
|
59
59
|
version: '0'
|
60
60
|
requirements: []
|
61
|
-
rubygems_version: 3.
|
61
|
+
rubygems_version: 3.5.16
|
62
62
|
signing_key:
|
63
63
|
specification_version: 4
|
64
64
|
summary: Fast online machine learning for Ruby
|