Class: AprendizajeMaquina::Cargar
- Inherits:
-
Object
- Object
- AprendizajeMaquina::Cargar
- Defined in:
- lib/aprendizaje_maquina/cargar.rb
Instance Method Summary collapse
-
#initialize(path_file) ⇒ Cargar
constructor
A new instance of Cargar.
- #to_matrix(columnas = nil) ⇒ Object
- #to_vector(columna) ⇒ Object
Constructor Details
#initialize(path_file) ⇒ Cargar
Returns a new instance of Cargar.
6 7 8 9 10 |
# File 'lib/aprendizaje_maquina/cargar.rb', line 6 def initialize(path_file) @path_file = path_file @csv_data = CSV.read(@path_file) @largo_colum = @csv_data[0].length end |
Instance Method Details
#to_matrix(columnas = nil) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/aprendizaje_maquina/cargar.rb', line 12 def to_matrix(columnas = nil) if columnas == nil array = @csv_data.map{ |e| e.map{ |o| o.include?(".") ? o.to_f : o.to_i } } matrix = Matrix.rows(array,copy=true) matrix elsif columnas.is_a?(Range) if columnas.last >= @largo_colum raise ArgumentError, "Number of columns don't exist" else array = @csv_data.map{ |e| e[columnas].map{ |i| i.include?(".") ? i.to_f : i.to_i} } matrix = Matrix.rows(array,copy=true) matrix end elsif columnas.is_a?(Integer) if columnas >= @largo_colum raise ArgumentError, "Number of columns don't exist" else array = @csv_data.map { |e| e[columnas].include?(".") ? e[columnas].to_f : e[columnas].to_i } matrix = Matrix[array].transpose matrix end else raise ArgumentError, "Must be nil, range or integer" end end |
#to_vector(columna) ⇒ Object
38 39 40 41 42 43 44 45 46 |
# File 'lib/aprendizaje_maquina/cargar.rb', line 38 def to_vector(columna) if columna >= @largo_colum raise ArgumentError, "Column don't exist" else array = @csv_data.map { |e| e[columna].include?(".") ? e[columna].to_f : e[columna].to_i } vector = Vector.elements(array,copy = true) vector end end |