Class: NexosisApi::DistanceMetric

Inherits:
Object
  • Object
show all
Defined in:
lib/nexosis_api/distance_metric.rb

Overview

Class to hold the parse results of each ‘row’ in distance metric response

Since:

  • 2.4.0

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(metric_hash) ⇒ DistanceMetric

Returns a new instance of DistanceMetric.

Since:

  • 2.4.0



5
6
7
8
9
10
# File 'lib/nexosis_api/distance_metric.rb', line 5

def initialize(metric_hash)
  failover = ->(k) { metric_hash.fetch(k.to_s) }
  @anomaly_score = metric_hash.fetch(:anomaly, &failover).to_f
  @distance = metric_hash.fetch(:mahalanobis_distance, &failover).to_f
  @data = metric_hash.reject { |k, _v| (k.to_s.casecmp('mahalanobis_distance').zero?) || (k.to_s.casecmp('anomaly').zero?) }
end

Instance Attribute Details

#anomaly_scoreFloat (readonly)

The anomaly score determining if this entry is an anomaly

Returns:

  • (Float)

Since:

  • 2.4.0



14
15
16
# File 'lib/nexosis_api/distance_metric.rb', line 14

def anomaly_score
  @anomaly_score
end

#dataHash (readonly)

The set of values in this row

Returns:

  • (Hash)

Since:

  • 2.4.0



22
23
24
# File 'lib/nexosis_api/distance_metric.rb', line 22

def data
  @data
end

#distanceFloat (readonly)

The calculated distance for this row of values

Returns:

  • (Float)

Since:

  • 2.4.0



18
19
20
# File 'lib/nexosis_api/distance_metric.rb', line 18

def distance
  @distance
end