/* * File: VectorMeanCentroidClusterCreator.java * Authors: Jeff Piersol * Company: Sandia National Laboratories * Project: Cognitive Foundry * * Copyright April 28, 2016, Sandia Corporation. Under the terms of Contract * DE-AC04-94AL85000, there is a non-exclusive license for use of this work by * or on behalf of the U.S. Government. Export of this program may require a * license from the United States Government. See CopyrightHistory.txt for * complete details. * */ package gov.sandia.cognition.learning.algorithm.clustering.cluster; import gov.sandia.cognition.annotation.PublicationReference; import gov.sandia.cognition.annotation.PublicationType; import gov.sandia.cognition.math.matrix.Vector; import gov.sandia.cognition.util.AbstractCloneableSerializable; import java.util.Collection; /** * Implementation of {@link VectorMeanCentroidClusterCreator} for mini-batch * clustering. * * @author Jeff Piersol * @since 4.0.0 */ @PublicationReference( author = "Jeff Piersol", title = "Parallel Mini-Batch k-means Clustering", type = PublicationType.Conference, year = 2016, publication = "to appear", url = "to appear" ) public class VectorMeanMiniBatchCentroidClusterCreator extends AbstractCloneableSerializable implements ClusterCreator<MiniBatchCentroidCluster, Vector> { private static final long serialVersionUID = 1512395430699067693L; /** An instance of this class. */ public static final VectorMeanMiniBatchCentroidClusterCreator INSTANCE = new VectorMeanMiniBatchCentroidClusterCreator(); /** * Creates a new {@link VectorMeanMiniBatchCentroidClusterCreator}. */ public VectorMeanMiniBatchCentroidClusterCreator() { super(); } @Override public MiniBatchCentroidCluster createCluster( Collection<? extends Vector> members) { return new MiniBatchCentroidCluster(members); } }