ibm-ml 0.2.1 → 0.2.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9181a59f405e92671980ea2483c050acece5a3db
4
- data.tar.gz: c260419693c752f3e050031e1005de5da5a62177
3
+ metadata.gz: 6f259dbcfbeb8baa701a1d76c5ebfe44bc005eb8
4
+ data.tar.gz: abfd76da8bb4577c35933975bb86069d6eca9b40
5
5
  SHA512:
6
- metadata.gz: 96b92a8a2e4af5bd444a689975676e6fc4c7d849863eaae472806a9fd03e69dc630420ed0fb19acad635dca5a3a8b5c2e4e337837b30e85dececf48098c90987
7
- data.tar.gz: 55a34c8a5899d2986ea0c637cc5a2e9e33bf14096c76e0e9e17dd5b069a805245f77b9ac3bec6fa04990a0bf0082272e05f04db0bb3c91f934fb17fff2ecdbdb
6
+ metadata.gz: 2e423c9d9d03bf7d64d5a1faab6bb9a0f1e0098bbd1cbb622d4e697c95d06cc45f86221e3090908000a7f5ad8fcee4067d0143c868a5d28cf7ef2f68327aa897
7
+ data.tar.gz: 0941b84896e0b85692265c177201a4c427116f4e10ecf2f1cdb409fe108f9ed7d1596846cbed1a4c76921a4fd3e1808add1e388077060ec94c9f8cae6fc66c74
data/README.md CHANGED
@@ -68,18 +68,12 @@ pp ml_service.model_by_name('ML Model')
68
68
 
69
69
  # Query deployments
70
70
  pp ml_service.deployments
71
- pp ml_service.deployment(DEPLOYMENT_ID)
72
- pp ml_service.deployment_by_name('Deployed ML Model')
71
+ pp ml_service.deployment(DEPLOYMENT_ID) # identify by deployment ID
72
+ pp ml_service.deployment_by_name('Deployed ML Model') # OR identify by deployment name
73
73
 
74
74
  # Get a score for the given deployment and record
75
- score = ml_service.score(DEPLOYMENT_ID, record)
76
- score = ml_service.score_by_name('Deployed ML Model', record)
77
- pp score
78
- prediction = ml_service.query_score(score, 'prediction')
79
- probability = ml_service.query_score(score, 'probability')[prediction]
80
- puts
81
- puts "Prediction = #{prediction == 1}"
82
- puts "Probability = #{(probability * 100).round(1)}%"
75
+ score = ml_service.score(DEPLOYMENT_ID, record) # identify by deployment ID
76
+ score = ml_service.score_by_name('Deployed ML Model', record) # OR identify by deployment name
83
77
  ```
84
78
 
85
79
  ### Local
@@ -96,7 +90,20 @@ ml_service = IBM::ML::Local.new(LOCAL_HOST, LOCAL_USERNAME, LOCAL_PASSWORD)
96
90
  pp ml_service.fetch_token
97
91
 
98
92
  # Get a score for the given deployment and record
99
- pp ml_service.score(DEPLOYMENT_ID, record)
93
+ score = ml_service.score(DEPLOYMENT_ID, record)
94
+ ```
95
+
96
+ ### Print Score
97
+ ```ruby
98
+ pp score # print full score hash
99
+
100
+ # extract prediction and probability from score
101
+ prediction = ml_service.query_score(score, 'prediction')
102
+ probability = ml_service.query_score(score, 'probability')[prediction]
103
+
104
+ puts
105
+ puts "Prediction = #{prediction == 1}" # print binary 1/0 prediction as true/false
106
+ puts "Probability = #{(probability * 100).round(1)}%" # print probability value as percentage
100
107
  ```
101
108
 
102
109
  ## Development
@@ -28,6 +28,12 @@ module IBM
28
28
  process_ldap_response(response)
29
29
  end
30
30
 
31
+ def query_ml_score(score, field, values_key)
32
+ fields = score['fields'].map(&:upcase)
33
+ index = fields.index(field.upcase)
34
+ score[values_key].map { |record| record[index] }[0]
35
+ end
36
+
31
37
  private
32
38
 
33
39
  def get_request(addr, top_key)
@@ -53,9 +53,7 @@ module IBM
53
53
  end
54
54
 
55
55
  def query_score(score, field)
56
- fields = score['fields'].map(&:upcase)
57
- index = fields.index(field.upcase)
58
- score['values'].map { |record| record[index] }[0]
56
+ query_ml_score(score, field, 'values')
59
57
  end
60
58
 
61
59
  private
@@ -34,6 +34,10 @@ module IBM
34
34
  end
35
35
  end
36
36
 
37
+ def query_score(score, field)
38
+ query_ml_score(score, field, 'records')
39
+ end
40
+
37
41
  private
38
42
 
39
43
  def ldap_url
@@ -1,5 +1,5 @@
1
1
  module IBM
2
2
  module ML
3
- VERSION = '0.2.1'.freeze
3
+ VERSION = '0.2.2'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ibm-ml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Thomason
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-10-04 00:00:00.000000000 Z
11
+ date: 2017-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -110,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
110
  version: '0'
111
111
  requirements: []
112
112
  rubyforge_project:
113
- rubygems_version: 2.6.13
113
+ rubygems_version: 2.6.14
114
114
  signing_key:
115
115
  specification_version: 4
116
116
  summary: Client library for calling IBM Machine Learning API