Class: Newral::Data::Csv

Inherits:
Base
  • Object
show all
Defined in:
lib/newral/data/csv.rb

Instance Attribute Summary

Attributes inherited from Base

#inputs, #labels, #outputs

Instance Method Summary collapse

Methods inherited from Base

#add_input, #count_outputs, #downsample_input!, #inputs_for_output, #label_for_input, #normalized_inputs, #output_as_vector, #output_for_input, #output_hash, #output_normalized, #sample, #sub_set, #values_for

Constructor Details

#initialize(file_name: nil, output_fields: 1) ⇒ Csv

Returns a new instance of Csv.



6
7
8
9
10
# File 'lib/newral/data/csv.rb', line 6

def initialize( file_name: nil, output_fields: 1 )
  @file_name = file_name
  @output_fields = output_fields
  super( inputs: [], outputs: [])
end

Instance Method Details

#processObject



12
13
14
15
16
17
18
19
# File 'lib/newral/data/csv.rb', line 12

def process
  open( @file_name ) do |file|
    file.each_line do |line|
      input = CSV.parse_line( line ).collect{ |field| field.match(/^\d*\.?\d+$/) ? field.to_f : field }
      add_input( input.slice(0,input.size-1-@output_fields), output: input.slice(input.size-@output_fields, input.size ))
    end
  end
end