Class: Uranai::Data

Inherits:
Object
  • Object
show all
Defined in:
lib/uranai/data.rb

Instance Method Summary collapse

Constructor Details

#initialize(csv) ⇒ Data

Returns a new instance of Data.



6
7
8
# File 'lib/uranai/data.rb', line 6

def initialize(csv)
  @data = CSV.read(csv).map { |arr| arr.map(&:to_f) }.transpose
end

Instance Method Details

#column_sizeObject



10
11
12
# File 'lib/uranai/data.rb', line 10

def column_size
  data.length
end

#feature_sizeObject



19
20
21
# File 'lib/uranai/data.rb', line 19

def feature_size
  column_size - 1
end

#matrix_xObject



33
34
35
# File 'lib/uranai/data.rb', line 33

def matrix_x
  Matrix.columns(x)
end

#matrix_yObject



45
46
47
# File 'lib/uranai/data.rb', line 45

def matrix_y
  Matrix.columns(y)
end

#normalized_matrix_xObject



37
38
39
# File 'lib/uranai/data.rb', line 37

def normalized_matrix_x
  Matrix.columns(normalized_x)
end

#normalized_xObject



27
28
29
30
31
# File 'lib/uranai/data.rb', line 27

def normalized_x
  FeatureNormalizer.new(raw_x)
    .normalize
    .insert(0, [1] * row_size)
end

#row_sizeObject Also known as: training_example_size



14
15
16
# File 'lib/uranai/data.rb', line 14

def row_size
  data.transpose.length
end

#xObject



23
24
25
# File 'lib/uranai/data.rb', line 23

def x
  raw_x.insert(0, [1] * row_size)
end

#yObject



41
42
43
# File 'lib/uranai/data.rb', line 41

def y
  [data[-1]]
end