class RubyBrain::TrainingDataManipulator

Attributes

columns[RW]

Public Class Methods

new(data_file, has_header) click to toggle source
# File lib/ruby_brain/training_data_manipulator.rb, line 6
def initialize(data_file, has_header)
  puts data_file
  @columns = []
  @raw_data = parse_data(data_file, has_header)
end

Public Instance Methods

ix(*col_index) click to toggle source
# File lib/ruby_brain/training_data_manipulator.rb, line 24
def ix(*col_index)
  @raw_data.map do |a_set|
    a_set.values_at(*col_index).map(&:to_f)
  end
end
num_data_sets() click to toggle source
# File lib/ruby_brain/training_data_manipulator.rb, line 30
def num_data_sets
  @raw_data.length
end
parse_data(data_file, has_header) click to toggle source
# File lib/ruby_brain/training_data_manipulator.rb, line 12
def parse_data(data_file, has_header)
  array_of_data_set = []
  File.open(data_file) do |f|
    @columns = f.readline.chomp.split(',') if has_header
    f.each_line do |line|
      next if /\A\s+\z/ =~ line
      array_of_data_set << line.chomp.split(',')
    end
  end
  array_of_data_set
end