Package org.biojava.stats.svm
Class SparseVector
java.lang.Object
org.biojava.stats.svm.SparseVector
- All Implemented Interfaces:
Serializable
An implementation of a sparse vector.
Memory is only allocated for dimensions that have non-zero values.
- Author:
- Thomas Down, Matthew Pocock
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
A version of the standard dot-product kernel that scales each column independently. -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondouble
get
(int dim) Retrieve the value at dimension dim.int
getDimAtIndex
(int indx) Retrieve the dimension at a specific index.double
getValueAtIndex
(int indx) Retrieve the value at a specific index.int
maxIndex()
static SparseVector
normalLengthVector
(SparseVector v, double length) void
put
(int dim, double value) Set the value at a particular dimension.int
size()
The number of used dimensions.
-
Field Details
-
kernel
-
-
Constructor Details
-
SparseVector
public SparseVector() -
SparseVector
-
-
Method Details
-
size
The number of used dimensions.This is the total number of non-zero dimensions. It is not equal to the number of the highest indexed dimension.
- Returns:
- the number of non-zero dimensions
-
put
Set the value at a particular dimension.This silently handles the case when previously there was no value at dim. It does not contract the sparse array if you set a value to zero.
- Parameters:
dim
- the dimension to altervalue
- the new value
-
get
Retrieve the value at dimension dim.- Parameters:
dim
- the dimension to retrieve a value for- Returns:
- the value at that dimension
-
getDimAtIndex
Retrieve the dimension at a specific index.E.g., if the sparse vector had dimensions 5, 11, 12, 155 set to non-zero values then
sv.getDimAtIndex(2)
would return 12.- Parameters:
indx
- the index- Returns:
- the dimension stoored at that index
- Throws:
ArrayIndexOutOfBoundsException
- if index >= size.
-
getValueAtIndex
Retrieve the value at a specific index.E.g., if the sparse vector contained the data 5->0.1, 11->100, 12->8.5, 155->-10 then
sv.geValueAtIndex(2)
would return 8.5.- Parameters:
indx
- the index- Returns:
- the value stoored at that index
- Throws:
ArrayIndexOutOfBoundsException
- if index >= size.
-
maxIndex
-
normalLengthVector
-