disco 0.1.3 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/LICENSE.txt +1 -1
- data/README.md +2 -2
- data/lib/disco/data.rb +1 -2
- data/lib/disco/recommender.rb +2 -3
- data/lib/disco/version.rb +1 -1
- 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: 96836166496bb14ec8f973fb5e3709e0a28b7d5d8678608d074c0d7613076cc2
|
4
|
+
data.tar.gz: c68d12941fddc51a67938ef951be4ee809faef2e131de0f5856908d8ed1f93d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b960dc961ead701713dbc7f9c104852355ac6d61f9f1f6e1cde43d1d4fa257b2c55859ca42896a6780f006d25f5ff613bf0261e601033db7d3c063f2a9f3d3e
|
7
|
+
data.tar.gz: 6c82413ce53a9100fc97f9a3849c6231ebee4945fd26a3e3a1150f8c3abcca915032d35f4373b83217fa786600181097c003d1d071aab9de00612baf4c4eaa99
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
## 0.2.0 (2020-07-31)
|
2
|
+
|
3
|
+
- Changed score to always be between -1 and 1 for `item_recs` and `similar_users` (cosine similarity - this makes it easier to understand and consistent with `optimize_item_recs` and `optimize_similar_users`)
|
4
|
+
|
1
5
|
## 0.1.3 (2020-06-28)
|
2
6
|
|
3
7
|
- Added support for Rover
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -101,14 +101,14 @@ recommender.item_recs("Star Wars (1977)")
|
|
101
101
|
```ruby
|
102
102
|
views = Ahoy::Event.
|
103
103
|
where(name: "Viewed post").
|
104
|
-
group(:user_id, "properties->>'post_id'") # postgres syntax
|
104
|
+
group(:user_id, "properties->>'post_id'"). # postgres syntax
|
105
105
|
count
|
106
106
|
|
107
107
|
data =
|
108
108
|
views.map do |(user_id, post_id), count|
|
109
109
|
{
|
110
110
|
user_id: user_id,
|
111
|
-
|
111
|
+
item_id: post_id,
|
112
112
|
value: count
|
113
113
|
}
|
114
114
|
end
|
data/lib/disco/data.rb
CHANGED
@@ -36,8 +36,7 @@ module Disco
|
|
36
36
|
|
37
37
|
return dest if File.exist?(dest)
|
38
38
|
|
39
|
-
|
40
|
-
temp_path = "#{temp_dir}/#{Time.now.to_f}" # TODO better name
|
39
|
+
temp_path = "#{Dir.tmpdir}/disco-#{Time.now.to_f}" # TODO better name
|
41
40
|
|
42
41
|
digest = Digest::SHA2.new
|
43
42
|
|
data/lib/disco/recommender.rb
CHANGED
@@ -139,7 +139,7 @@ module Disco
|
|
139
139
|
end
|
140
140
|
|
141
141
|
def norms(factors)
|
142
|
-
norms = Numo::
|
142
|
+
norms = Numo::SFloat::Math.sqrt((factors * factors).sum(axis: 1))
|
143
143
|
norms[norms.eq(0)] = 1e-10 # no zeros
|
144
144
|
norms
|
145
145
|
end
|
@@ -171,8 +171,7 @@ module Disco
|
|
171
171
|
predictions = predictions.first(count) if count
|
172
172
|
# divide by max score to get cosine similarity
|
173
173
|
# only need to do for returned records
|
174
|
-
|
175
|
-
# predictions.each { |pred| pred[:score] /= max_score }
|
174
|
+
predictions.each { |pred| pred[:score] /= max_score }
|
176
175
|
predictions
|
177
176
|
end
|
178
177
|
else
|
data/lib/disco/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: disco
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.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: 2020-
|
11
|
+
date: 2020-07-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: libmf
|
@@ -142,14 +142,14 @@ dependencies:
|
|
142
142
|
requirements:
|
143
143
|
- - ">="
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: 0.
|
145
|
+
version: 0.3.0
|
146
146
|
type: :development
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
150
|
- - ">="
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: 0.
|
152
|
+
version: 0.3.0
|
153
153
|
description:
|
154
154
|
email: andrew@chartkick.com
|
155
155
|
executables: []
|