Class: Array
Instance Method Summary collapse
- #mean ⇒ Object
- #median ⇒ Object
- #sample_variance ⇒ Object
- #standard_deviation ⇒ Object
-
#sum_size ⇒ Integer
Sum up the size of single arrays in an array of arrays.
-
#zero_variance? ⇒ Boolean
For symbolic features.
Instance Method Details
#mean ⇒ Object
103 104 105 |
# File 'lib/overwrite.rb', line 103 def mean self.inject{ |sum, el| sum + el }.to_f / self.size end |
#median ⇒ Object
97 98 99 100 101 |
# File 'lib/overwrite.rb', line 97 def median sorted = self.sort len = sorted.length (sorted[(len - 1) / 2] + sorted[len / 2]) / 2.0 end |
#sample_variance ⇒ Object
107 108 109 110 111 |
# File 'lib/overwrite.rb', line 107 def sample_variance m = self.mean sum = self.inject(0){|accum, i| accum +(i-m)**2 } sum/(self.length - 1).to_f end |
#standard_deviation ⇒ Object
113 114 115 |
# File 'lib/overwrite.rb', line 113 def standard_deviation Math.sqrt(self.sample_variance) end |
#sum_size ⇒ Integer
Sum up the size of single arrays in an array of arrays
80 81 82 83 84 85 86 87 88 |
# File 'lib/overwrite.rb', line 80 def sum_size self.inject(0) { |s,a| if a.respond_to?('size') s+=a.size else internal_server_error "No size available: #{a.inspect}" end } end |
#zero_variance? ⇒ Boolean
For symbolic features
93 94 95 |
# File 'lib/overwrite.rb', line 93 def zero_variance? return self.uniq.size == 1 end |