require "csv" module Uranai class Data def initialize(csv) @data = CSV.read(csv).map { |arr| arr.map(&:to_f) }.transpose end def column_size data.length end def row_size data.transpose.length end alias :training_example_size :row_size def feature_size column_size - 1 end def x data[0...column_size-1].insert(0, [1] * row_size) end def matrix_x Matrix.columns(x) end def y [data[-1]] end def matrix_y Matrix.columns(y) end private attr_reader :data end end