class Spark::Mllib::DenseVector

A dense vector represented by a value array.

Dense vector is a vector in which most of the elements are non-zero.

Example:

DenseVector.new([1,2,3,4,5]).values
# => [1, 2, 3, 4, 5]

DenseVector.new(1..5).values
# => [1, 2, 3, 4, 5]

Public Class Methods

from_java(object) click to toggle source
# File lib/spark/mllib/vector.rb, line 94
def self.from_java(object)
  DenseVector.new(object.values)
end
new(values) click to toggle source
Calls superclass method Spark::Mllib::VectorAdapter::new
# File lib/spark/mllib/vector.rb, line 59
def initialize(values)
  super(:dense, values.to_a)
end
parse(data) click to toggle source

Covert string to vector

DenseVector.parse("[1.0,2.0,3.0,4.0,5.0]")
# File lib/spark/mllib/vector.rb, line 67
def self.parse(data)
  unless data =~ /\[[0-9., ]+\]/
    raise ArgumentError, 'Unknow format for DenseVector.'
  end

  data.sub!('[', '')
  data.sub!(']', '')

  data = data.split(',')
  data.map!(&:to_f)

  DenseVector.new(data)
end

Public Instance Methods

marshal_dump() click to toggle source
# File lib/spark/mllib/vector.rb, line 98
def marshal_dump
  values
end
marshal_load(array) click to toggle source
# File lib/spark/mllib/vector.rb, line 102
def marshal_load(array)
  initialize(array)
end
to_java() click to toggle source
# File lib/spark/mllib/vector.rb, line 90
def to_java
  JDenseVector.new(values)
end
to_s() click to toggle source

Convert vector to string

DenseVector.new([1,2,3,4,5]).to_s
# => "[1.0,2.0,3.0,4.0,5.0]"
# File lib/spark/mllib/vector.rb, line 86
def to_s
  "[#{values.join(',')}]"
end