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.
- checksums.yaml +4 -4
- data/lib/nexosis_api/algorithm.rb +22 -22
- data/lib/nexosis_api/algorithm_contestant.rb +43 -43
- data/lib/nexosis_api/calendar_jointarget.rb +35 -35
- data/lib/nexosis_api/classifier_result.rb +25 -25
- data/lib/nexosis_api/client/contest.rb +66 -66
- data/lib/nexosis_api/client/datasets.rb +155 -155
- data/lib/nexosis_api/client/imports.rb +141 -141
- data/lib/nexosis_api/client/models.rb +108 -108
- data/lib/nexosis_api/client/sessions.rb +213 -213
- data/lib/nexosis_api/client/views.rb +105 -105
- data/lib/nexosis_api/client.rb +118 -118
- data/lib/nexosis_api/column.rb +50 -50
- data/lib/nexosis_api/column_options.rb +38 -38
- data/lib/nexosis_api/column_role.rb +19 -19
- data/lib/nexosis_api/column_type.rb +23 -19
- data/lib/nexosis_api/dataset_data.rb +22 -22
- data/lib/nexosis_api/dataset_jointarget.rb +18 -18
- data/lib/nexosis_api/dataset_model.rb +26 -26
- data/lib/nexosis_api/dataset_summary.rb +33 -33
- data/lib/nexosis_api/http_exception.rb +28 -28
- data/lib/nexosis_api/impact_metric.rb +22 -22
- data/lib/nexosis_api/imports_response.rb +74 -79
- data/lib/nexosis_api/join.rb +63 -63
- data/lib/nexosis_api/link.rb +18 -18
- data/lib/nexosis_api/message.rb +19 -19
- data/lib/nexosis_api/metric.rb +16 -16
- data/lib/nexosis_api/model_summary.rb +66 -66
- data/lib/nexosis_api/paged_array.rb +35 -35
- data/lib/nexosis_api/predict_response.rb +35 -35
- data/lib/nexosis_api/session.rb +118 -118
- data/lib/nexosis_api/session_contest.rb +30 -30
- data/lib/nexosis_api/session_response.rb +33 -33
- data/lib/nexosis_api/session_result.rb +27 -27
- data/lib/nexosis_api/session_selection_metrics.rb +20 -20
- data/lib/nexosis_api/time_interval.rb +15 -15
- data/lib/nexosis_api/view_data.rb +14 -14
- data/lib/nexosis_api/view_definition.rb +64 -64
- data/lib/nexosis_api.rb +11 -11
- data/nexosisapi.gemspec +20 -20
- metadata +3 -3
data/lib/nexosis_api/session.rb
CHANGED
@@ -1,118 +1,118 @@
|
|
1
|
-
module NexosisApi
|
2
|
-
# Class for parsing the results of a session based request
|
3
|
-
class Session
|
4
|
-
def initialize(session_hash)
|
5
|
-
val_map = { 'resultInterval' => :@result_interval,
|
6
|
-
'dataSourceName' => :@datasource_name,
|
7
|
-
'modelId' => :@model_id,
|
8
|
-
'sessionId' => :@session_id,
|
9
|
-
'availablePredictionIntervals' => :@prediction_intervals,
|
10
|
-
'startDate' => :@start_date,
|
11
|
-
'endDate' => :@end_date,
|
12
|
-
'predictionDomain' => :@prediction_domain,
|
13
|
-
'extraParameters' => :@extra_parameters,
|
14
|
-
'targetColumn' => :@target_column,
|
15
|
-
'statusHistory' => :@status_history }
|
16
|
-
session_hash.each do |k, v|
|
17
|
-
if (k == 'links')
|
18
|
-
@links = v.map { |l| NexosisApi::Link.new(l) }
|
19
|
-
elsif (k == 'columns')
|
20
|
-
@column_metadata = v.reject { |_key, value| value.nil? }
|
21
|
-
.map do |col_key, col_val|
|
22
|
-
NexosisApi::Column.new(col_key, v[col_key])
|
23
|
-
end
|
24
|
-
elsif (k == 'requestedDate')
|
25
|
-
@requested_date = DateTime.parse(v)
|
26
|
-
elsif (k == 'messages')
|
27
|
-
@messages = v.map { |m| NexosisApi::Message.new(m) } unless v.empty?
|
28
|
-
else
|
29
|
-
instance_variable_set("@#{k}", v) unless v.nil?
|
30
|
-
end
|
31
|
-
instance_variable_set(val_map[k.to_s], v) unless val_map[k.to_s].nil?
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
# identifier for this sesssion
|
36
|
-
# @return [String]
|
37
|
-
# @since 1.4.0
|
38
|
-
attr_accessor :session_id
|
39
|
-
|
40
|
-
# What type of analysis was run during this session
|
41
|
-
# @return [String]
|
42
|
-
attr_accessor :type
|
43
|
-
|
44
|
-
# Is this session requested, started, or completed
|
45
|
-
# @return [String]
|
46
|
-
attr_accessor :status
|
47
|
-
|
48
|
-
# Date and status of each status this session has entered
|
49
|
-
# @return [Array of Hash]
|
50
|
-
# @note - each status object in array is form { date: 'date', status: 'status' }
|
51
|
-
attr_accessor :status_history
|
52
|
-
|
53
|
-
# reserved for future extensions
|
54
|
-
# @return [Hash]
|
55
|
-
# @note - included 'balance' parameter for classification models
|
56
|
-
attr_accessor :extra_parameters
|
57
|
-
|
58
|
-
# The column in the dataset for which this session ran predictions
|
59
|
-
# @return [String]
|
60
|
-
attr_accessor :target_column
|
61
|
-
|
62
|
-
# The start date of analysis in this session
|
63
|
-
# @return [DateTime]
|
64
|
-
# @since 1.4.0
|
65
|
-
attr_accessor :start_date
|
66
|
-
|
67
|
-
# The end date of analysis in this session
|
68
|
-
# @return [DateTime]
|
69
|
-
# @since 1.4.0
|
70
|
-
attr_accessor :end_date
|
71
|
-
|
72
|
-
# associated hypermedia
|
73
|
-
# @return [Array of NexosisApi::Link]
|
74
|
-
attr_accessor :links
|
75
|
-
|
76
|
-
# The column descriptors for the data in this session
|
77
|
-
# will reflect either the metadata sent in, defaults form dataset, or inferred values
|
78
|
-
# @return[Array of NexosisApi::Column]
|
79
|
-
attr_accessor :column_metadata
|
80
|
-
|
81
|
-
# The requested result interval. Default is DAY if none was requested during session creation.
|
82
|
-
# @return [NexosisApi::TimeInterval]
|
83
|
-
attr_accessor :result_interval
|
84
|
-
|
85
|
-
# The name of the datasource used to run this session
|
86
|
-
# @return [String] - the dataset or view name
|
87
|
-
# @since 1.2.0
|
88
|
-
attr_accessor :datasource_name
|
89
|
-
|
90
|
-
# The date this session was orginally submitted
|
91
|
-
# @since 1.3.0
|
92
|
-
attr_accessor :requested_date
|
93
|
-
|
94
|
-
# The id of the model created by this session if any
|
95
|
-
# @return [String] a uuid/buid format unique string for the model
|
96
|
-
# @since 1.3.0
|
97
|
-
# @note This is always empty in time-series sessions (forecast/impact)
|
98
|
-
# The model id returned here should be used in all future calls
|
99
|
-
# to model endpoints - primarily the /models/{model_id}/predict endpoint.
|
100
|
-
attr_accessor :model_id
|
101
|
-
|
102
|
-
# An array of the prediction intervals available for this session's results
|
103
|
-
# @return [Array]
|
104
|
-
# @note - by default the .5 interval will be returned in results. Consult
|
105
|
-
# this list for other intervals which can be requested.
|
106
|
-
# @since 1.4.0
|
107
|
-
attr_accessor :prediction_intervals
|
108
|
-
|
109
|
-
# The type of model if a model creation session
|
110
|
-
# @return [String]
|
111
|
-
# @since 1.4.1
|
112
|
-
attr_accessor :prediction_domain
|
113
|
-
|
114
|
-
# A list of warning or error messages optionally returned from session
|
115
|
-
# @return [Array of Message]
|
116
|
-
attr_accessor :messages
|
117
|
-
end
|
118
|
-
end
|
1
|
+
module NexosisApi
|
2
|
+
# Class for parsing the results of a session based request
|
3
|
+
class Session
|
4
|
+
def initialize(session_hash)
|
5
|
+
val_map = { 'resultInterval' => :@result_interval,
|
6
|
+
'dataSourceName' => :@datasource_name,
|
7
|
+
'modelId' => :@model_id,
|
8
|
+
'sessionId' => :@session_id,
|
9
|
+
'availablePredictionIntervals' => :@prediction_intervals,
|
10
|
+
'startDate' => :@start_date,
|
11
|
+
'endDate' => :@end_date,
|
12
|
+
'predictionDomain' => :@prediction_domain,
|
13
|
+
'extraParameters' => :@extra_parameters,
|
14
|
+
'targetColumn' => :@target_column,
|
15
|
+
'statusHistory' => :@status_history }
|
16
|
+
session_hash.each do |k, v|
|
17
|
+
if (k == 'links')
|
18
|
+
@links = v.map { |l| NexosisApi::Link.new(l) }
|
19
|
+
elsif (k == 'columns')
|
20
|
+
@column_metadata = v.reject { |_key, value| value.nil? }
|
21
|
+
.map do |col_key, col_val|
|
22
|
+
NexosisApi::Column.new(col_key, v[col_key])
|
23
|
+
end
|
24
|
+
elsif (k == 'requestedDate')
|
25
|
+
@requested_date = DateTime.parse(v)
|
26
|
+
elsif (k == 'messages')
|
27
|
+
@messages = v.map { |m| NexosisApi::Message.new(m) } unless v.empty?
|
28
|
+
else
|
29
|
+
instance_variable_set("@#{k}", v) unless v.nil?
|
30
|
+
end
|
31
|
+
instance_variable_set(val_map[k.to_s], v) unless val_map[k.to_s].nil?
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# identifier for this sesssion
|
36
|
+
# @return [String]
|
37
|
+
# @since 1.4.0
|
38
|
+
attr_accessor :session_id
|
39
|
+
|
40
|
+
# What type of analysis was run during this session
|
41
|
+
# @return [String]
|
42
|
+
attr_accessor :type
|
43
|
+
|
44
|
+
# Is this session requested, started, or completed
|
45
|
+
# @return [String]
|
46
|
+
attr_accessor :status
|
47
|
+
|
48
|
+
# Date and status of each status this session has entered
|
49
|
+
# @return [Array of Hash]
|
50
|
+
# @note - each status object in array is form { date: 'date', status: 'status' }
|
51
|
+
attr_accessor :status_history
|
52
|
+
|
53
|
+
# reserved for future extensions
|
54
|
+
# @return [Hash]
|
55
|
+
# @note - included 'balance' parameter for classification models
|
56
|
+
attr_accessor :extra_parameters
|
57
|
+
|
58
|
+
# The column in the dataset for which this session ran predictions
|
59
|
+
# @return [String]
|
60
|
+
attr_accessor :target_column
|
61
|
+
|
62
|
+
# The start date of analysis in this session
|
63
|
+
# @return [DateTime]
|
64
|
+
# @since 1.4.0
|
65
|
+
attr_accessor :start_date
|
66
|
+
|
67
|
+
# The end date of analysis in this session
|
68
|
+
# @return [DateTime]
|
69
|
+
# @since 1.4.0
|
70
|
+
attr_accessor :end_date
|
71
|
+
|
72
|
+
# associated hypermedia
|
73
|
+
# @return [Array of NexosisApi::Link]
|
74
|
+
attr_accessor :links
|
75
|
+
|
76
|
+
# The column descriptors for the data in this session
|
77
|
+
# will reflect either the metadata sent in, defaults form dataset, or inferred values
|
78
|
+
# @return[Array of NexosisApi::Column]
|
79
|
+
attr_accessor :column_metadata
|
80
|
+
|
81
|
+
# The requested result interval. Default is DAY if none was requested during session creation.
|
82
|
+
# @return [NexosisApi::TimeInterval]
|
83
|
+
attr_accessor :result_interval
|
84
|
+
|
85
|
+
# The name of the datasource used to run this session
|
86
|
+
# @return [String] - the dataset or view name
|
87
|
+
# @since 1.2.0
|
88
|
+
attr_accessor :datasource_name
|
89
|
+
|
90
|
+
# The date this session was orginally submitted
|
91
|
+
# @since 1.3.0
|
92
|
+
attr_accessor :requested_date
|
93
|
+
|
94
|
+
# The id of the model created by this session if any
|
95
|
+
# @return [String] a uuid/buid format unique string for the model
|
96
|
+
# @since 1.3.0
|
97
|
+
# @note This is always empty in time-series sessions (forecast/impact)
|
98
|
+
# The model id returned here should be used in all future calls
|
99
|
+
# to model endpoints - primarily the /models/{model_id}/predict endpoint.
|
100
|
+
attr_accessor :model_id
|
101
|
+
|
102
|
+
# An array of the prediction intervals available for this session's results
|
103
|
+
# @return [Array]
|
104
|
+
# @note - by default the .5 interval will be returned in results. Consult
|
105
|
+
# this list for other intervals which can be requested.
|
106
|
+
# @since 1.4.0
|
107
|
+
attr_accessor :prediction_intervals
|
108
|
+
|
109
|
+
# The type of model if a model creation session
|
110
|
+
# @return [String]
|
111
|
+
# @since 1.4.1
|
112
|
+
attr_accessor :prediction_domain
|
113
|
+
|
114
|
+
# A list of warning or error messages optionally returned from session
|
115
|
+
# @return [Array of Message]
|
116
|
+
attr_accessor :messages
|
117
|
+
end
|
118
|
+
end
|
@@ -1,30 +1,30 @@
|
|
1
|
-
module NexosisApi
|
2
|
-
# Class to parse the algorithm contestants from a session
|
3
|
-
# @since 2.0.0
|
4
|
-
class SessionContest < Session
|
5
|
-
def initialize(contest_hash)
|
6
|
-
contest_hash.each do |k, v|
|
7
|
-
if k.to_s == 'champion'
|
8
|
-
instance_variable_set("@#{k}", NexosisApi::AlgorithmContestant.new(v))
|
9
|
-
elsif k.to_s == 'contestants'
|
10
|
-
instance_variable_set("@#{k}", v.map { |c| NexosisApi::AlgorithmContestant.new(c) })
|
11
|
-
elsif k.to_s == 'championMetric'
|
12
|
-
@champion_metric = v
|
13
|
-
end
|
14
|
-
end
|
15
|
-
super(contest_hash.reject { |key, _v| key == 'champion' || key == 'contestants' })
|
16
|
-
end
|
17
|
-
|
18
|
-
# The champion algorithm used
|
19
|
-
# @return [NexosisApi::AlgorithmContestant]
|
20
|
-
attr_accessor :champion
|
21
|
-
|
22
|
-
# All other algorithms which competed
|
23
|
-
# @return [Array of NexosisApi::AlgorithmContestant]
|
24
|
-
attr_accessor :contestants
|
25
|
-
|
26
|
-
# Name of metric used to determine champion algorithm
|
27
|
-
# @return [String] metric name
|
28
|
-
attr_accessor :champion_metric
|
29
|
-
end
|
30
|
-
end
|
1
|
+
module NexosisApi
|
2
|
+
# Class to parse the algorithm contestants from a session
|
3
|
+
# @since 2.0.0
|
4
|
+
class SessionContest < Session
|
5
|
+
def initialize(contest_hash)
|
6
|
+
contest_hash.each do |k, v|
|
7
|
+
if k.to_s == 'champion'
|
8
|
+
instance_variable_set("@#{k}", NexosisApi::AlgorithmContestant.new(v))
|
9
|
+
elsif k.to_s == 'contestants'
|
10
|
+
instance_variable_set("@#{k}", v.map { |c| NexosisApi::AlgorithmContestant.new(c) })
|
11
|
+
elsif k.to_s == 'championMetric'
|
12
|
+
@champion_metric = v
|
13
|
+
end
|
14
|
+
end
|
15
|
+
super(contest_hash.reject { |key, _v| key == 'champion' || key == 'contestants' })
|
16
|
+
end
|
17
|
+
|
18
|
+
# The champion algorithm used
|
19
|
+
# @return [NexosisApi::AlgorithmContestant]
|
20
|
+
attr_accessor :champion
|
21
|
+
|
22
|
+
# All other algorithms which competed
|
23
|
+
# @return [Array of NexosisApi::AlgorithmContestant]
|
24
|
+
attr_accessor :contestants
|
25
|
+
|
26
|
+
# Name of metric used to determine champion algorithm
|
27
|
+
# @return [String] metric name
|
28
|
+
attr_accessor :champion_metric
|
29
|
+
end
|
30
|
+
end
|
@@ -1,33 +1,33 @@
|
|
1
|
-
require 'nexosis_api/session'
|
2
|
-
|
3
|
-
module NexosisApi
|
4
|
-
# Class to parse the results from a new session
|
5
|
-
class SessionResponse < Session
|
6
|
-
def initialize(forecast_hash)
|
7
|
-
val_map = {
|
8
|
-
'Nexosis-Account-DataSetCount-Allotted' => :@datasets_allotted,
|
9
|
-
'Nexosis-Account-DataSetCount-Current' => :@datasets_current,
|
10
|
-
'Nexosis-Account-PredictionCount-Allotted' => :@predictions_allotted,
|
11
|
-
'Nexosis-Account-PredictionCount-Current' => :@predictions_current,
|
12
|
-
'Nexosis-Account-SessionCount-Allotted' => :@sessions_allotted,
|
13
|
-
'Nexosis-Account-SessionCount-Current' => :@sessions_current
|
14
|
-
}
|
15
|
-
forecast_hash.each do |k, v|
|
16
|
-
if (k == 'session')
|
17
|
-
super(v) unless v.nil?
|
18
|
-
else
|
19
|
-
instance_variable_set(val_map[k], v) unless val_map[k].nil?
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
attr_reader :datasets_allotted
|
25
|
-
attr_reader :datasets_allotted
|
26
|
-
attr_reader :datasets_current
|
27
|
-
attr_reader :predictions_allotted
|
28
|
-
attr_reader :predictions_current
|
29
|
-
attr_reader :sessions_allotted
|
30
|
-
attr_reader :sessions_current
|
31
|
-
|
32
|
-
end
|
33
|
-
end
|
1
|
+
require 'nexosis_api/session'
|
2
|
+
|
3
|
+
module NexosisApi
|
4
|
+
# Class to parse the results from a new session
|
5
|
+
class SessionResponse < Session
|
6
|
+
def initialize(forecast_hash)
|
7
|
+
val_map = {
|
8
|
+
'Nexosis-Account-DataSetCount-Allotted' => :@datasets_allotted,
|
9
|
+
'Nexosis-Account-DataSetCount-Current' => :@datasets_current,
|
10
|
+
'Nexosis-Account-PredictionCount-Allotted' => :@predictions_allotted,
|
11
|
+
'Nexosis-Account-PredictionCount-Current' => :@predictions_current,
|
12
|
+
'Nexosis-Account-SessionCount-Allotted' => :@sessions_allotted,
|
13
|
+
'Nexosis-Account-SessionCount-Current' => :@sessions_current
|
14
|
+
}
|
15
|
+
forecast_hash.each do |k, v|
|
16
|
+
if (k == 'session')
|
17
|
+
super(v) unless v.nil?
|
18
|
+
else
|
19
|
+
instance_variable_set(val_map[k], v) unless val_map[k].nil?
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
attr_reader :datasets_allotted
|
25
|
+
attr_reader :datasets_allotted
|
26
|
+
attr_reader :datasets_current
|
27
|
+
attr_reader :predictions_allotted
|
28
|
+
attr_reader :predictions_current
|
29
|
+
attr_reader :sessions_allotted
|
30
|
+
attr_reader :sessions_current
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
@@ -1,27 +1,27 @@
|
|
1
|
-
module NexosisApi
|
2
|
-
# Class for parsing the results of a completed session
|
3
|
-
class SessionResult < Session
|
4
|
-
def initialize(session_hash)
|
5
|
-
session_hash.each do |k, v|
|
6
|
-
if k.to_s == 'metrics' && session_hash['type'] == 'impact'
|
7
|
-
instance_variable_set("@#{k}", NexosisApi::ImpactMetric.new(v)) unless v.nil?
|
8
|
-
elsif k.to_s == 'metrics'
|
9
|
-
@metrics = v.map { |key, value| NexosisApi::Metric.new(key.to_s, value) } unless v.nil?
|
10
|
-
elsif k.to_s == 'data'
|
11
|
-
@data = v
|
12
|
-
end
|
13
|
-
end
|
14
|
-
super(session_hash.reject { |k, _v| k.to_s == 'data' || k.to_s == 'metrics' })
|
15
|
-
end
|
16
|
-
|
17
|
-
# The impact analysis if this session type is impact
|
18
|
-
# @return [NexosisApi::ImpactMetric]
|
19
|
-
attr_accessor :metrics
|
20
|
-
|
21
|
-
# The result data in a hash with the name of the target column
|
22
|
-
# @return [Array of Hash]
|
23
|
-
# @note When retrieving a model creation session this field
|
24
|
-
# will contain the test data and results.
|
25
|
-
attr_accessor :data
|
26
|
-
end
|
27
|
-
end
|
1
|
+
module NexosisApi
|
2
|
+
# Class for parsing the results of a completed session
|
3
|
+
class SessionResult < Session
|
4
|
+
def initialize(session_hash)
|
5
|
+
session_hash.each do |k, v|
|
6
|
+
if k.to_s == 'metrics' && session_hash['type'] == 'impact'
|
7
|
+
instance_variable_set("@#{k}", NexosisApi::ImpactMetric.new(v)) unless v.nil?
|
8
|
+
elsif k.to_s == 'metrics'
|
9
|
+
@metrics = v.map { |key, value| NexosisApi::Metric.new(key.to_s, value) } unless v.nil?
|
10
|
+
elsif k.to_s == 'data'
|
11
|
+
@data = v
|
12
|
+
end
|
13
|
+
end
|
14
|
+
super(session_hash.reject { |k, _v| k.to_s == 'data' || k.to_s == 'metrics' })
|
15
|
+
end
|
16
|
+
|
17
|
+
# The impact analysis if this session type is impact
|
18
|
+
# @return [NexosisApi::ImpactMetric]
|
19
|
+
attr_accessor :metrics
|
20
|
+
|
21
|
+
# The result data in a hash with the name of the target column
|
22
|
+
# @return [Array of Hash]
|
23
|
+
# @note When retrieving a model creation session this field
|
24
|
+
# will contain the test data and results.
|
25
|
+
attr_accessor :data
|
26
|
+
end
|
27
|
+
end
|
@@ -1,21 +1,21 @@
|
|
1
|
-
module NexosisApi
|
2
|
-
# Class to parse the session selection metrics from a particular session
|
3
|
-
# @since 2.0.0
|
4
|
-
class SessionSelectionMetrics < Session
|
5
|
-
def initialize(metrics_hash)
|
6
|
-
if !metrics_hash['metricSets'].nil?
|
7
|
-
@dataset_properties = metrics_hash['metricSets'][0]['dataSetProperties'] unless metrics_hash['metricSets'][0]['dataSetProperties'].nil?
|
8
|
-
@metrics = metrics_hash['metricSets'][0]['metrics'] unless metrics_hash['metricSets'][0]['metrics'].nil?
|
9
|
-
end
|
10
|
-
super(metrics_hash.reject { |k, _v| k == 'metricSets' })
|
11
|
-
end
|
12
|
-
|
13
|
-
# transformations performed on dataset prior to algorithm run
|
14
|
-
# @return [Array] string list of transformations
|
15
|
-
attr_reader :dataset_properties
|
16
|
-
|
17
|
-
# dataset metrics describing some properties of it
|
18
|
-
# @return [Hash] name value pairs of dataset metrics
|
19
|
-
attr_reader :metrics
|
20
|
-
end
|
1
|
+
module NexosisApi
|
2
|
+
# Class to parse the session selection metrics from a particular session
|
3
|
+
# @since 2.0.0
|
4
|
+
class SessionSelectionMetrics < Session
|
5
|
+
def initialize(metrics_hash)
|
6
|
+
if !metrics_hash['metricSets'].nil?
|
7
|
+
@dataset_properties = metrics_hash['metricSets'][0]['dataSetProperties'] unless metrics_hash['metricSets'][0]['dataSetProperties'].nil?
|
8
|
+
@metrics = metrics_hash['metricSets'][0]['metrics'] unless metrics_hash['metricSets'][0]['metrics'].nil?
|
9
|
+
end
|
10
|
+
super(metrics_hash.reject { |k, _v| k == 'metricSets' })
|
11
|
+
end
|
12
|
+
|
13
|
+
# transformations performed on dataset prior to algorithm run
|
14
|
+
# @return [Array] string list of transformations
|
15
|
+
attr_reader :dataset_properties
|
16
|
+
|
17
|
+
# dataset metrics describing some properties of it
|
18
|
+
# @return [Hash] name value pairs of dataset metrics
|
19
|
+
attr_reader :metrics
|
20
|
+
end
|
21
21
|
end
|
@@ -1,15 +1,15 @@
|
|
1
|
-
module NexosisApi
|
2
|
-
# constants for the date/time interval (e.g. Day, Hour) at which predictions should be generated.
|
3
|
-
module TimeInterval
|
4
|
-
# results summarized by hour
|
5
|
-
HOUR = :hour
|
6
|
-
# results summarized by day. Default option.
|
7
|
-
DAY = :day
|
8
|
-
# results summarized by week
|
9
|
-
WEEK = :week
|
10
|
-
# results summarized by month
|
11
|
-
MONTH = :month
|
12
|
-
# results summarized by year
|
13
|
-
YEAR = :year
|
14
|
-
end
|
15
|
-
end
|
1
|
+
module NexosisApi
|
2
|
+
# constants for the date/time interval (e.g. Day, Hour) at which predictions should be generated.
|
3
|
+
module TimeInterval
|
4
|
+
# results summarized by hour
|
5
|
+
HOUR = :hour
|
6
|
+
# results summarized by day. Default option.
|
7
|
+
DAY = :day
|
8
|
+
# results summarized by week
|
9
|
+
WEEK = :week
|
10
|
+
# results summarized by month
|
11
|
+
MONTH = :month
|
12
|
+
# results summarized by year
|
13
|
+
YEAR = :year
|
14
|
+
end
|
15
|
+
end
|
@@ -1,14 +1,14 @@
|
|
1
|
-
module NexosisApi
|
2
|
-
# Class to hold the parsed results of a view data retrieval
|
3
|
-
# @since 1.2.0
|
4
|
-
class ViewData < ViewDefinition
|
5
|
-
def initialize(viewdata_hash)
|
6
|
-
@data = viewdata_hash['data']
|
7
|
-
super(viewdata_hash.reject { |k| k == 'data' })
|
8
|
-
end
|
9
|
-
|
10
|
-
# An array of hashes representing the processed data of the view
|
11
|
-
# @return [Array of Hash] - one hash per row of data where key = column name
|
12
|
-
attr_accessor :data
|
13
|
-
end
|
14
|
-
end
|
1
|
+
module NexosisApi
|
2
|
+
# Class to hold the parsed results of a view data retrieval
|
3
|
+
# @since 1.2.0
|
4
|
+
class ViewData < ViewDefinition
|
5
|
+
def initialize(viewdata_hash)
|
6
|
+
@data = viewdata_hash['data']
|
7
|
+
super(viewdata_hash.reject { |k| k == 'data' })
|
8
|
+
end
|
9
|
+
|
10
|
+
# An array of hashes representing the processed data of the view
|
11
|
+
# @return [Array of Hash] - one hash per row of data where key = column name
|
12
|
+
attr_accessor :data
|
13
|
+
end
|
14
|
+
end
|
@@ -1,64 +1,64 @@
|
|
1
|
-
module NexosisApi
|
2
|
-
# class to hold the parsed results of a view
|
3
|
-
# @since 1.2.0
|
4
|
-
class ViewDefinition
|
5
|
-
def initialize(view_hash)
|
6
|
-
view_hash.each do |k, v|
|
7
|
-
if k == 'viewName'
|
8
|
-
@view_name = v unless v.nil?
|
9
|
-
elsif k == 'dataSetName'
|
10
|
-
@dataset_name = v unless v.nil?
|
11
|
-
elsif k == 'columns'
|
12
|
-
next if v.nil?
|
13
|
-
@column_metadata = v.reject { |value| value.nil? } .map { |col_name, col_hash| NexosisApi::Column.new(col_name, col_hash)}
|
14
|
-
elsif k == 'joins'
|
15
|
-
next if v.nil?
|
16
|
-
@joins = v.reject(&:nil?).map { |join| NexosisApi::Join.new(join) }
|
17
|
-
elsif k == 'isTimeSeries'
|
18
|
-
@is_timeseries = v
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
# The name of the view uploaded and saved
|
24
|
-
# @return [String]
|
25
|
-
attr_accessor :view_name
|
26
|
-
|
27
|
-
# The name of the dataset on the left of the join
|
28
|
-
# @return [String]
|
29
|
-
attr_accessor :dataset_name
|
30
|
-
|
31
|
-
# Descriptive information about the columns
|
32
|
-
# @return [Array of NexosisApi::Column]
|
33
|
-
attr_accessor :column_metadata
|
34
|
-
|
35
|
-
# The join configuration for this view
|
36
|
-
# @return [Array of NexosisApi::Join]
|
37
|
-
attr_accessor :joins
|
38
|
-
|
39
|
-
# Is this view based on time series data?
|
40
|
-
# @since 1.3.0
|
41
|
-
attr_accessor :is_timeseries
|
42
|
-
|
43
|
-
# Is this view based on time series data?
|
44
|
-
# @since 1.3.0
|
45
|
-
alias_method :timeseries?, :is_timeseries
|
46
|
-
|
47
|
-
# Provides a custom hash which matches json of api request
|
48
|
-
def to_json
|
49
|
-
hash = {}
|
50
|
-
hash['dataSetName'] = dataset_name
|
51
|
-
if column_metadata.nil? == false
|
52
|
-
hash['columns'] = {}
|
53
|
-
column_metadata.each do |column|
|
54
|
-
hash['columns'].merge!(column.to_hash)
|
55
|
-
end
|
56
|
-
end
|
57
|
-
hash['joins'] = []
|
58
|
-
joins.each do |join|
|
59
|
-
hash['joins'] << join.to_hash
|
60
|
-
end
|
61
|
-
hash.to_json
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
1
|
+
module NexosisApi
|
2
|
+
# class to hold the parsed results of a view
|
3
|
+
# @since 1.2.0
|
4
|
+
class ViewDefinition
|
5
|
+
def initialize(view_hash)
|
6
|
+
view_hash.each do |k, v|
|
7
|
+
if k == 'viewName'
|
8
|
+
@view_name = v unless v.nil?
|
9
|
+
elsif k == 'dataSetName'
|
10
|
+
@dataset_name = v unless v.nil?
|
11
|
+
elsif k == 'columns'
|
12
|
+
next if v.nil?
|
13
|
+
@column_metadata = v.reject { |value| value.nil? } .map { |col_name, col_hash| NexosisApi::Column.new(col_name, col_hash)}
|
14
|
+
elsif k == 'joins'
|
15
|
+
next if v.nil?
|
16
|
+
@joins = v.reject(&:nil?).map { |join| NexosisApi::Join.new(join) }
|
17
|
+
elsif k == 'isTimeSeries'
|
18
|
+
@is_timeseries = v
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
# The name of the view uploaded and saved
|
24
|
+
# @return [String]
|
25
|
+
attr_accessor :view_name
|
26
|
+
|
27
|
+
# The name of the dataset on the left of the join
|
28
|
+
# @return [String]
|
29
|
+
attr_accessor :dataset_name
|
30
|
+
|
31
|
+
# Descriptive information about the columns
|
32
|
+
# @return [Array of NexosisApi::Column]
|
33
|
+
attr_accessor :column_metadata
|
34
|
+
|
35
|
+
# The join configuration for this view
|
36
|
+
# @return [Array of NexosisApi::Join]
|
37
|
+
attr_accessor :joins
|
38
|
+
|
39
|
+
# Is this view based on time series data?
|
40
|
+
# @since 1.3.0
|
41
|
+
attr_accessor :is_timeseries
|
42
|
+
|
43
|
+
# Is this view based on time series data?
|
44
|
+
# @since 1.3.0
|
45
|
+
alias_method :timeseries?, :is_timeseries
|
46
|
+
|
47
|
+
# Provides a custom hash which matches json of api request
|
48
|
+
def to_json
|
49
|
+
hash = {}
|
50
|
+
hash['dataSetName'] = dataset_name
|
51
|
+
if column_metadata.nil? == false
|
52
|
+
hash['columns'] = {}
|
53
|
+
column_metadata.each do |column|
|
54
|
+
hash['columns'].merge!(column.to_hash)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
hash['joins'] = []
|
58
|
+
joins.each do |join|
|
59
|
+
hash['joins'] << join.to_hash
|
60
|
+
end
|
61
|
+
hash.to_json
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|