nexosis_api 2.0.0 → 2.0.1

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.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/lib/nexosis_api/algorithm.rb +22 -22
  3. data/lib/nexosis_api/algorithm_contestant.rb +43 -43
  4. data/lib/nexosis_api/calendar_jointarget.rb +35 -35
  5. data/lib/nexosis_api/classifier_result.rb +25 -25
  6. data/lib/nexosis_api/client/contest.rb +66 -66
  7. data/lib/nexosis_api/client/datasets.rb +155 -155
  8. data/lib/nexosis_api/client/imports.rb +141 -141
  9. data/lib/nexosis_api/client/models.rb +108 -108
  10. data/lib/nexosis_api/client/sessions.rb +213 -213
  11. data/lib/nexosis_api/client/views.rb +105 -105
  12. data/lib/nexosis_api/client.rb +118 -118
  13. data/lib/nexosis_api/column.rb +50 -50
  14. data/lib/nexosis_api/column_options.rb +38 -38
  15. data/lib/nexosis_api/column_role.rb +19 -19
  16. data/lib/nexosis_api/column_type.rb +23 -19
  17. data/lib/nexosis_api/dataset_data.rb +22 -22
  18. data/lib/nexosis_api/dataset_jointarget.rb +18 -18
  19. data/lib/nexosis_api/dataset_model.rb +26 -26
  20. data/lib/nexosis_api/dataset_summary.rb +33 -33
  21. data/lib/nexosis_api/http_exception.rb +28 -28
  22. data/lib/nexosis_api/impact_metric.rb +22 -22
  23. data/lib/nexosis_api/imports_response.rb +74 -79
  24. data/lib/nexosis_api/join.rb +63 -63
  25. data/lib/nexosis_api/link.rb +18 -18
  26. data/lib/nexosis_api/message.rb +19 -19
  27. data/lib/nexosis_api/metric.rb +16 -16
  28. data/lib/nexosis_api/model_summary.rb +66 -66
  29. data/lib/nexosis_api/paged_array.rb +35 -35
  30. data/lib/nexosis_api/predict_response.rb +35 -35
  31. data/lib/nexosis_api/session.rb +118 -118
  32. data/lib/nexosis_api/session_contest.rb +30 -30
  33. data/lib/nexosis_api/session_response.rb +33 -33
  34. data/lib/nexosis_api/session_result.rb +27 -27
  35. data/lib/nexosis_api/session_selection_metrics.rb +20 -20
  36. data/lib/nexosis_api/time_interval.rb +15 -15
  37. data/lib/nexosis_api/view_data.rb +14 -14
  38. data/lib/nexosis_api/view_definition.rb +64 -64
  39. data/lib/nexosis_api.rb +11 -11
  40. data/nexosisapi.gemspec +20 -20
  41. metadata +3 -3
@@ -1,63 +1,63 @@
1
- # frozen_string_literal: true
2
-
3
- module NexosisApi
4
- # class to hold a join defintion initialized by a hash of join values
5
- # @since 1.2.0
6
- class Join
7
- def initialize(join_hash)
8
- join_hash.each do |k, v|
9
- if k == 'dataSet'
10
- @join_target = NexosisApi::DatasetJoinTarget.new(v) unless v.nil?
11
- elsif k == 'calendar'
12
- @join_target = NexosisApi::CalendarJoinTarget.new(v) unless v.nil?
13
- elsif k == 'columnOptions'
14
- next if v.nil?
15
- @column_options = v.map do |key, option|
16
- NexosisApi::ColumnOptions.new(key, option)
17
- end
18
- elsif k == 'joins'
19
- next if v.nil?
20
- @joins = v.map do |join|
21
- NexosisApi::Join.new(join)
22
- end
23
- end
24
- end
25
- end
26
-
27
- # The details of the data source that will be participating in the join
28
- # @return [Object] details of the join target
29
- attr_accessor :join_target
30
-
31
- # The optional column definition for the join which
32
- # defines how columns should be used from the joined dataset
33
- # @return [Array of NexosisApi::ColumnOptions] column options definition
34
- attr_accessor :column_options
35
-
36
- # Optional additional data source to be joined to this data source
37
- # @return [Array of NexosisApi::Join] zero or more additional joins
38
- attr_accessor :joins
39
-
40
- # provides a custom hash which can be converted to json matching api request
41
- def to_hash
42
- hash = join_target.to_hash
43
- if column_options.nil? == false
44
- hash['columnOptions'] = {}
45
- column_options.each do |column|
46
- hash['columnOptions'].merge!(column.to_hash)
47
- end
48
- end
49
- if joins.nil? == false
50
- hash['joins'] = []
51
- joins.each do |join|
52
- hash['joins'] << join.to_hash
53
- end
54
- end
55
- hash
56
- end
57
-
58
- # gets a json represenation which can be used in api request
59
- def to_json
60
- to_hash.to_json
61
- end
62
- end
63
- end
1
+ # frozen_string_literal: true
2
+
3
+ module NexosisApi
4
+ # class to hold a join defintion initialized by a hash of join values
5
+ # @since 1.2.0
6
+ class Join
7
+ def initialize(join_hash)
8
+ join_hash.each do |k, v|
9
+ if k == 'dataSet'
10
+ @join_target = NexosisApi::DatasetJoinTarget.new(v) unless v.nil?
11
+ elsif k == 'calendar'
12
+ @join_target = NexosisApi::CalendarJoinTarget.new(v) unless v.nil?
13
+ elsif k == 'columnOptions'
14
+ next if v.nil?
15
+ @column_options = v.map do |key, option|
16
+ NexosisApi::ColumnOptions.new(key, option)
17
+ end
18
+ elsif k == 'joins'
19
+ next if v.nil?
20
+ @joins = v.map do |join|
21
+ NexosisApi::Join.new(join)
22
+ end
23
+ end
24
+ end
25
+ end
26
+
27
+ # The details of the data source that will be participating in the join
28
+ # @return [Object] details of the join target
29
+ attr_accessor :join_target
30
+
31
+ # The optional column definition for the join which
32
+ # defines how columns should be used from the joined dataset
33
+ # @return [Array of NexosisApi::ColumnOptions] column options definition
34
+ attr_accessor :column_options
35
+
36
+ # Optional additional data source to be joined to this data source
37
+ # @return [Array of NexosisApi::Join] zero or more additional joins
38
+ attr_accessor :joins
39
+
40
+ # provides a custom hash which can be converted to json matching api request
41
+ def to_hash
42
+ hash = join_target.to_hash
43
+ if column_options.nil? == false
44
+ hash['columnOptions'] = {}
45
+ column_options.each do |column|
46
+ hash['columnOptions'].merge!(column.to_hash)
47
+ end
48
+ end
49
+ if joins.nil? == false
50
+ hash['joins'] = []
51
+ joins.each do |join|
52
+ hash['joins'] << join.to_hash
53
+ end
54
+ end
55
+ hash
56
+ end
57
+
58
+ # gets a json represenation which can be used in api request
59
+ def to_json
60
+ to_hash.to_json
61
+ end
62
+ end
63
+ end
@@ -1,18 +1,18 @@
1
- module NexosisApi
2
- # Class to parse hypermedia resutls
3
- class Link
4
- def initialize(link_hash)
5
- link_hash.each do |k, v|
6
- instance_variable_set("@#{k}", v) unless v.nil?
7
- end
8
- end
9
-
10
- # relation type of the link
11
- # @return [String]
12
- attr_accessor :rel
13
-
14
- # resource url
15
- # @return [String]
16
- attr_accessor :href
17
- end
18
- end
1
+ module NexosisApi
2
+ # Class to parse hypermedia resutls
3
+ class Link
4
+ def initialize(link_hash)
5
+ link_hash.each do |k, v|
6
+ instance_variable_set("@#{k}", v) unless v.nil?
7
+ end
8
+ end
9
+
10
+ # relation type of the link
11
+ # @return [String]
12
+ attr_accessor :rel
13
+
14
+ # resource url
15
+ # @return [String]
16
+ attr_accessor :href
17
+ end
18
+ end
@@ -1,19 +1,19 @@
1
- module NexosisApi
2
- # class to provide message responses
3
- # @since 1.4.1
4
- class Message
5
- def initialize(message_hash)
6
- message_hash.each do |k,v|
7
- instance_variable_set("@#{k}", v) unless v.nil?
8
- end
9
- end
10
-
11
- # The type of message: information, warning, or error
12
- # @return [String]
13
- attr_accessor :severity
14
-
15
- # The content of the message
16
- # @return [String]
17
- attr_accessor :message
18
- end
19
- end
1
+ module NexosisApi
2
+ # class to provide message responses
3
+ # @since 1.4.1
4
+ class Message
5
+ def initialize(message_hash)
6
+ message_hash.each do |k,v|
7
+ instance_variable_set("@#{k}", v) unless v.nil?
8
+ end
9
+ end
10
+
11
+ # The type of message: information, warning, or error
12
+ # @return [String]
13
+ attr_accessor :severity
14
+
15
+ # The content of the message
16
+ # @return [String]
17
+ attr_accessor :message
18
+ end
19
+ end
@@ -1,17 +1,17 @@
1
- module NexosisApi
2
- # Class to parse algorithm metrics from model results
3
- class Metric
4
- def initialize(name, value)
5
- @name = name
6
- @value = value
7
- end
8
-
9
- # Friendly name of the metric
10
- # @return [String]
11
- attr_accessor :name
12
-
13
- # Calculated metric
14
- # @return [Float]
15
- attr_accessor :value
16
- end
1
+ module NexosisApi
2
+ # Class to parse algorithm metrics from model results
3
+ class Metric
4
+ def initialize(name, value)
5
+ @name = name
6
+ @value = value
7
+ end
8
+
9
+ # Friendly name of the metric
10
+ # @return [String]
11
+ attr_accessor :name
12
+
13
+ # Calculated metric
14
+ # @return [Float]
15
+ attr_accessor :value
16
+ end
17
17
  end
@@ -1,66 +1,66 @@
1
- module NexosisApi
2
- # class to hold the parsed results of model summary json
3
- # @since 1.3.0
4
- class ModelSummary
5
- def initialize(model_hash)
6
- model_hash.each do |k, v|
7
- k = k.to_s
8
- if (k == 'modelId')
9
- @model_id = v
10
- elsif (k == 'predictionDomain')
11
- @prediction_domain = v
12
- elsif (k == 'dataSourceName')
13
- @datasource_name = v
14
- elsif (k == 'createdDate')
15
- @created_date = DateTime.parse(v) unless v.nil?
16
- elsif (k == 'algorithm')
17
- @algorithm = NexosisApi::Algorithm.new(v) unless v.nil?
18
- elsif (k == 'columns')
19
- @column_metadata = v.reject { |_key, value| value.nil? }
20
- .map do |col_key, col_val|
21
- NexosisApi::Column.new(col_key, col_val)
22
- end
23
- elsif (k == 'metrics')
24
- @metrics = v.reject { |_key, value| value.nil? }
25
- .map do |col_key, col_val|
26
- NexosisApi::Metric.new(col_key, col_val)
27
- end
28
- elsif (k == 'sessionId')
29
- @session_id = v
30
- end
31
- end
32
- end
33
-
34
- # Unique model id for this model in uuid/guid format.
35
- # @return [String]
36
- attr_accessor :model_id
37
-
38
- # Unique id of the session used to create this model instance
39
- # @return [String]
40
- attr_accessor :session_id
41
-
42
- # The type of prediction performed
43
- # @return [String]
44
- attr_reader :prediction_domain
45
-
46
- # The data source used to create this model
47
- # @return [String]
48
- attr_accessor :datasource_name
49
-
50
- # The date on which this model was created.
51
- # @return [DateTime]
52
- attr_accessor :created_date
53
-
54
- # Information about the algorithm used to create the model
55
- # @return [NexosisApi::Algorithm]
56
- attr_accessor :algorithm
57
-
58
- # Descriptive information about the columns
59
- # @return [Array of NexosisApi::Column]
60
- attr_accessor :column_metadata
61
-
62
- # Algorithm and model specific metrics which may be of interest
63
- # @return [Array of NexosisApi::Metric]
64
- attr_accessor :metrics
65
- end
66
- end
1
+ module NexosisApi
2
+ # class to hold the parsed results of model summary json
3
+ # @since 1.3.0
4
+ class ModelSummary
5
+ def initialize(model_hash)
6
+ model_hash.each do |k, v|
7
+ k = k.to_s
8
+ if (k == 'modelId')
9
+ @model_id = v
10
+ elsif (k == 'predictionDomain')
11
+ @prediction_domain = v
12
+ elsif (k == 'dataSourceName')
13
+ @datasource_name = v
14
+ elsif (k == 'createdDate')
15
+ @created_date = DateTime.parse(v) unless v.nil?
16
+ elsif (k == 'algorithm')
17
+ @algorithm = NexosisApi::Algorithm.new(v) unless v.nil?
18
+ elsif (k == 'columns')
19
+ @column_metadata = v.reject { |_key, value| value.nil? }
20
+ .map do |col_key, col_val|
21
+ NexosisApi::Column.new(col_key, col_val)
22
+ end
23
+ elsif (k == 'metrics')
24
+ @metrics = v.reject { |_key, value| value.nil? }
25
+ .map do |col_key, col_val|
26
+ NexosisApi::Metric.new(col_key, col_val)
27
+ end
28
+ elsif (k == 'sessionId')
29
+ @session_id = v
30
+ end
31
+ end
32
+ end
33
+
34
+ # Unique model id for this model in uuid/guid format.
35
+ # @return [String]
36
+ attr_accessor :model_id
37
+
38
+ # Unique id of the session used to create this model instance
39
+ # @return [String]
40
+ attr_accessor :session_id
41
+
42
+ # The type of prediction performed
43
+ # @return [String]
44
+ attr_reader :prediction_domain
45
+
46
+ # The data source used to create this model
47
+ # @return [String]
48
+ attr_accessor :datasource_name
49
+
50
+ # The date on which this model was created.
51
+ # @return [DateTime]
52
+ attr_accessor :created_date
53
+
54
+ # Information about the algorithm used to create the model
55
+ # @return [NexosisApi::Algorithm]
56
+ attr_accessor :algorithm
57
+
58
+ # Descriptive information about the columns
59
+ # @return [Array of NexosisApi::Column]
60
+ attr_accessor :column_metadata
61
+
62
+ # Algorithm and model specific metrics which may be of interest
63
+ # @return [Array of NexosisApi::Metric]
64
+ attr_accessor :metrics
65
+ end
66
+ end
@@ -1,35 +1,35 @@
1
- module NexosisApi
2
- # Generic list base class for list responses
3
- # @since 1.4.0
4
- class PagedArray < Array
5
- def initialize(paged_response, item_array = [])
6
- self[0..item_array.length] = item_array
7
- var_map = { 'pageNumber' => :@page_number,
8
- 'totalPages' => :@total_pages,
9
- 'pageSize' => :@page_size,
10
- 'totalCount' => :@item_total }
11
- paged_response.each { |k, v| instance_variable_set(var_map[k.to_s], v) unless var_map[k.to_s].nil? }
12
- @links = paged_response['links'].map { |l| NexosisApi::Link.new(l) } unless paged_response['links'].nil?
13
- end
14
-
15
- # The current page number represented by this collection
16
- # @return [int]
17
- attr_accessor :page_number
18
-
19
- # The total number of pages given the current page size and item total
20
- # @return [int]
21
- attr_accessor :total_pages
22
-
23
- # The total number of items per page
24
- # @return [int]
25
- attr_accessor :page_size
26
-
27
- # The total number of items available on the server for this collection
28
- # @return [int]
29
- attr_accessor :item_total
30
-
31
- # paging links to first, last pages
32
- # @return [Array of NexosisApi::Link]
33
- attr_accessor :links
34
- end
35
- end
1
+ module NexosisApi
2
+ # Generic list base class for list responses
3
+ # @since 1.4.0
4
+ class PagedArray < Array
5
+ def initialize(paged_response, item_array = [])
6
+ self[0..item_array.length] = item_array
7
+ var_map = { 'pageNumber' => :@page_number,
8
+ 'totalPages' => :@total_pages,
9
+ 'pageSize' => :@page_size,
10
+ 'totalCount' => :@item_total }
11
+ paged_response.each { |k, v| instance_variable_set(var_map[k.to_s], v) unless var_map[k.to_s].nil? }
12
+ @links = paged_response['links'].map { |l| NexosisApi::Link.new(l) } unless paged_response['links'].nil?
13
+ end
14
+
15
+ # The current page number represented by this collection
16
+ # @return [int]
17
+ attr_accessor :page_number
18
+
19
+ # The total number of pages given the current page size and item total
20
+ # @return [int]
21
+ attr_accessor :total_pages
22
+
23
+ # The total number of items per page
24
+ # @return [int]
25
+ attr_accessor :page_size
26
+
27
+ # The total number of items available on the server for this collection
28
+ # @return [int]
29
+ attr_accessor :item_total
30
+
31
+ # paging links to first, last pages
32
+ # @return [Array of NexosisApi::Link]
33
+ attr_accessor :links
34
+ end
35
+ end
@@ -1,35 +1,35 @@
1
- module NexosisApi
2
- # Class to hold the parsed response of a prediction request
3
- # @since 1.3.0
4
- class PredictResponse
5
- def initialize(model_id, response_hash)
6
- @model_id = model_id
7
- @predictions = response_hash['data']
8
- @message = response_hash['messages']
9
- end
10
-
11
- # The unique identifier for the model used to create these predictions
12
- # @return [String]
13
- attr_reader :model_id
14
-
15
- # The feature data along with predicted target value
16
- # @return [Array of Hash] each row of data as a hash in an array of values
17
- # @note The result data includes an echo of the data sent to the predict request
18
- # along with the target column containing the values predicted.
19
- # [
20
- # {
21
- # "feature1": 23.33,
22
- # "target": 2.59
23
- # },
24
- # {
25
- # "feature1": 15.82,
26
- # "target": 1.75
27
- # }
28
- # ]
29
- attr_accessor :predictions
30
-
31
- # A list of warning message optionally returned from prediction run
32
- # @return [Array]
33
- attr_accessor :messages
34
- end
35
- end
1
+ module NexosisApi
2
+ # Class to hold the parsed response of a prediction request
3
+ # @since 1.3.0
4
+ class PredictResponse
5
+ def initialize(model_id, response_hash)
6
+ @model_id = model_id
7
+ @predictions = response_hash['data']
8
+ @message = response_hash['messages']
9
+ end
10
+
11
+ # The unique identifier for the model used to create these predictions
12
+ # @return [String]
13
+ attr_reader :model_id
14
+
15
+ # The feature data along with predicted target value
16
+ # @return [Array of Hash] each row of data as a hash in an array of values
17
+ # @note The result data includes an echo of the data sent to the predict request
18
+ # along with the target column containing the values predicted.
19
+ # [
20
+ # {
21
+ # "feature1": 23.33,
22
+ # "target": 2.59
23
+ # },
24
+ # {
25
+ # "feature1": 15.82,
26
+ # "target": 1.75
27
+ # }
28
+ # ]
29
+ attr_accessor :predictions
30
+
31
+ # A list of warning message optionally returned from prediction run
32
+ # @return [Array]
33
+ attr_accessor :messages
34
+ end
35
+ end