jsat.linear.vectorcollection
Class DefaultVectorCollection<V extends Vec>
- java.lang.Object
-
- jsat.linear.vectorcollection.DefaultVectorCollection<V>
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, VectorCollection<V>
public class DefaultVectorCollection<V extends Vec> extends java.lang.Object implements VectorCollection<V>
This class is a generic wrapper for the Vector Collection objects within JSAT. It will attempt to select a good choice for any given dataset and distance metric combination at runtime.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor and Description DefaultVectorCollection()DefaultVectorCollection(DefaultVectorCollection toCopy)DefaultVectorCollection(DistanceMetric dm)DefaultVectorCollection(DistanceMetric dm, java.util.List<V> vecs)DefaultVectorCollection(DistanceMetric dm, java.util.List<V> vecs, boolean parallel)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidbuild(boolean parallel, java.util.List<V> collection, DistanceMetric dm)Builds this metric index from the given collection of points using the given distance metric.DefaultVectorCollection<V>clone()Vget(int indx)Accesses a vector from this collection via index.java.util.List<java.lang.Double>getAccelerationCache()DistanceMetricgetDistanceMetric()voidsearch(Vec query, double range, java.util.List<java.lang.Integer> neighbors, java.util.List<java.lang.Double> distances)Performs a range search of the current collection.voidsearch(Vec query, int numNeighbors, java.util.List<java.lang.Integer> neighbors, java.util.List<java.lang.Double> distances)Performs k-Nearest Neighbor search of the current collection.voidsetDistanceMetric(DistanceMetric dm)Sets the distance metric used for this collection.intsize()Returns the number of vectors stored in the collection
-
-
-
Constructor Detail
-
DefaultVectorCollection
public DefaultVectorCollection()
-
DefaultVectorCollection
public DefaultVectorCollection(DistanceMetric dm)
-
DefaultVectorCollection
public DefaultVectorCollection(DistanceMetric dm, java.util.List<V> vecs)
-
DefaultVectorCollection
public DefaultVectorCollection(DistanceMetric dm, java.util.List<V> vecs, boolean parallel)
-
DefaultVectorCollection
public DefaultVectorCollection(DefaultVectorCollection toCopy)
-
-
Method Detail
-
build
public void build(boolean parallel, java.util.List<V> collection, DistanceMetric dm)Description copied from interface:VectorCollectionBuilds this metric index from the given collection of points using the given distance metric.- Specified by:
buildin interfaceVectorCollection<V extends Vec>- Parameters:
parallel-trueif the index should be built in parallel, orfalseif it should be done in a single thread.collection- the list of vectors to put into the indexdm- the distance metric to build the index using.
-
getAccelerationCache
public java.util.List<java.lang.Double> getAccelerationCache()
- Specified by:
getAccelerationCachein interfaceVectorCollection<V extends Vec>
-
setDistanceMetric
public void setDistanceMetric(DistanceMetric dm)
Description copied from interface:VectorCollectionSets the distance metric used for this collection.- Specified by:
setDistanceMetricin interfaceVectorCollection<V extends Vec>- Parameters:
dm- the distance metric to use
-
getDistanceMetric
public DistanceMetric getDistanceMetric()
- Specified by:
getDistanceMetricin interfaceVectorCollection<V extends Vec>- Returns:
- the distance metric to use
-
search
public void search(Vec query, double range, java.util.List<java.lang.Integer> neighbors, java.util.List<java.lang.Double> distances)
Description copied from interface:VectorCollectionPerforms a range search of the current collection. The index and distance of each found neighbor will be placed into the given Lists.- Specified by:
searchin interfaceVectorCollection<V extends Vec>- Parameters:
query- the point to search for the neighbors within a given radius.range- the radius to search for all the neighbors with a distance ≤ range.neighbors- the list to store the index of the neighbors in. Will be sorted by distance to the query, and paired with the values in distances.distances- the list to store the distance of the neighbors to the query in. Will be sorted, and paired with the values in neighbors.
-
search
public void search(Vec query, int numNeighbors, java.util.List<java.lang.Integer> neighbors, java.util.List<java.lang.Double> distances)
Description copied from interface:VectorCollectionPerforms k-Nearest Neighbor search of the current collection. The index and distance of each found neighbor will be placed into the given Lists.- Specified by:
searchin interfaceVectorCollection<V extends Vec>- Parameters:
query- the point to search for the k-nearest neighbors ofnumNeighbors- the number of neighbors k to search for.neighbors- the list to store the index of the neighbors in. Will be sorted by distance to the query, and paired with the values in distances.distances- the list to store the distance of the neighbors to the query in. Will be sorted, and paired with the values in neighbors.
-
get
public V get(int indx)
Description copied from interface:VectorCollectionAccesses a vector from this collection via index.- Specified by:
getin interfaceVectorCollection<V extends Vec>- Parameters:
indx- the index in [0,VectorCollection.size()) of the vector to access- Returns:
- the vector from the collection
-
size
public int size()
Description copied from interface:VectorCollectionReturns the number of vectors stored in the collection- Specified by:
sizein interfaceVectorCollection<V extends Vec>- Returns:
- the size of the collection
-
clone
public DefaultVectorCollection<V> clone()
- Specified by:
clonein interfaceVectorCollection<V extends Vec>- Overrides:
clonein classjava.lang.Object
-
-
DataMelt 3.0 © DataMelt by jWork.ORG