Class: Semantic::Transform::LSA
- Inherits:
-
Object
- Object
- Semantic::Transform::LSA
- Defined in:
- lib/semantic/transform/lsa_transform.rb
Class Method Summary collapse
Class Method Details
.transform(matrix, number_of_dimensions_to_reduce = 1) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/semantic/transform/lsa_transform.rb', line 7 def transform(matrix, number_of_dimensions_to_reduce = 1) columns = matrix.num_columns if number_of_dimensions_to_reduce <= columns #Its a valid reduction u, sigma, vt = matrix.singular_value_decomposition sigma_prime = reduce_dimensions(number_of_dimensions_to_reduce, sigma) matrix_prime = u * sigma_prime * vt else raise Exception, "dimension reduction cannot be greater than %s" % columns end matrix_prime end |