msmbuilder.cluster.MiniBatchKMedoids¶
-
class
msmbuilder.cluster.
MiniBatchKMedoids
(n_clusters=8, max_iter=5, batch_size=100, metric='euclidean', max_no_improvement=10, random_state=None)¶ Mini-Batch K-Medoids clustering.
This method finds a set of cluster centers that are themselves data points, attempting to minimize the mean-squared distance from the datapoints to their assigned cluster centers using only mini-batches of the dataset.
Mini batches of the dataset are selected, and augmented to include each of the cluster centers. Then, standard KMedoids clustering is performed on the batch, using code based on the C clustering library [1]. The memory requirement scales as the square
batch_size
instead of the square of the size of the dataset.Parameters: n_clusters : int, optional, default: 8
The number of clusters to form as well as the number of centroids to generate.
max_iter : int, optional, default=5
Maximum number of iterations over the complete dataset before stopping independently of any early stopping criterion heuristics.
batch_size : int, optional, default: 100
Size of the mini batches.
metric : {“euclidean”, “sqeuclidean”, “cityblock”, “chebyshev”, “canberra”,
“braycurtis”, “hamming”, “jaccard”, “cityblock”, “rmsd”}
The distance metric to use. metric = “rmsd” requires that sequences passed to
fit()
be`md.Trajectory`
; other distance metrics require ``np.ndarray``s.max_no_improvement : int, default: 10
Control early stopping based on the consecutive number of mini batches that do not lead to any modified assignments.
random_state : integer or numpy.RandomState, optional
The generator used to initialize the centers. If an integer is given, it fixes the seed. Defaults to the global numpy random number generator.
See also
KMedoids
- Batch version, requring O(N^2) memory.
References
[R5] de Hoon, Michiel JL, et al. “Open source clustering software.” Bioinformatics 20.9 (2004): 1453-1454. Attributes
cluster_centers_ (array, [n_clusters, n_features]) Coordinates of cluster centers labels_ (list of arrays, each of shape [sequence_length, ]) labels_[i] is an array of the labels of each point in sequence i. The label of each point is an integer in [0, n_clusters). Methods
fit
(sequences[, y])Fit the kcenters clustering on the data fit_predict
(sequences[, y])Performs clustering on X and returns cluster labels. fit_transform
(sequences[, y])Alias for fit_predict get_params
([deep])Get parameters for this estimator. partial_predict
(X[, y])Predict the closest cluster each sample in X belongs to. partial_transform
(X)Alias for partial_predict predict
(sequences[, y])Predict the closest cluster each sample in each sequence in sequences belongs to. set_params
(**params)Set the parameters of this estimator. summarize
()transform
(sequences)Alias for predict -
__init__
(n_clusters=8, max_iter=5, batch_size=100, metric='euclidean', max_no_improvement=10, random_state=None)¶
Methods
__init__
([n_clusters, max_iter, batch_size, ...])fit
(sequences[, y])Fit the kcenters clustering on the data fit_predict
(sequences[, y])Performs clustering on X and returns cluster labels. fit_transform
(sequences[, y])Alias for fit_predict get_params
([deep])Get parameters for this estimator. partial_predict
(X[, y])Predict the closest cluster each sample in X belongs to. partial_transform
(X)Alias for partial_predict predict
(sequences[, y])Predict the closest cluster each sample in each sequence in sequences belongs to. set_params
(**params)Set the parameters of this estimator. summarize
()transform
(sequences)Alias for predict -
fit
(sequences, y=None)¶ Fit the kcenters clustering on the data
Parameters: sequences : list of array-like, each of shape [sequence_length, n_features]
A list of multivariate timeseries, or
md.Trajectory
. Each sequence may have a different length, but they all must have the same number of features, or the same number of atoms if they are ``md.Trajectory``s.Returns: self
-
fit_predict
(sequences, y=None)¶ Performs clustering on X and returns cluster labels.
Parameters: sequences : list of array-like, each of shape [sequence_length, n_features]
A list of multivariate timeseries. Each sequence may have a different length, but they all must have the same number of features.
Returns: Y : list of ndarray, each of shape [sequence_length, ]
Cluster labels
-
fit_transform
(sequences, y=None)¶ Alias for fit_predict
-
get_params
(deep=True)¶ Get parameters for this estimator.
Parameters: deep: boolean, optional
If True, will return the parameters for this estimator and contained subobjects that are estimators.
Returns: params : mapping of string to any
Parameter names mapped to their values.
-
partial_predict
(X, y=None)¶ Predict the closest cluster each sample in X belongs to.
In the vector quantization literature, cluster_centers_ is called the code book and each value returned by predict is the index of the closest code in the code book.
Parameters: X : array-like shape=(n_samples, n_features)
A single timeseries.
Returns: Y : array, shape=(n_samples,)
Index of the cluster that each sample belongs to
-
partial_transform
(X)¶ Alias for partial_predict
-
predict
(sequences, y=None)¶ Predict the closest cluster each sample in each sequence in sequences belongs to.
In the vector quantization literature, cluster_centers_ is called the code book and each value returned by predict is the index of the closest code in the code book.
Parameters: sequences : list of array-like, each of shape [sequence_length, n_features]
A list of multivariate timeseries. Each sequence may have a different length, but they all must have the same number of features.
Returns: Y : list of arrays, each of shape [sequence_length,]
Index of the closest center each sample belongs to.
-
set_params
(**params)¶ Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects (such as pipelines). The former have parameters of the form
<component>__<parameter>
so that it’s possible to update each component of a nested object.Returns: self
-
transform
(sequences)¶ Alias for predict