Module dimdrop.models.deepcluster
Source code
import numpy as np
from .autoencoder import Autoencoder
from ..regularizers import KMeansRegularizer
class DeepCluster(Autoencoder):
"""
DeepCluster model
References
----------
* Kai Tian, Shuigeng Zhou, and Jihong Guan. Deepcluster: A general
clustering framework based on deep learning. In Michelangelo Ceci,
Jaakko Hollmén, Ljupčo Todorovski, Celine Vens, and Sašo Džeroski,
editors, *Machine Learning and Knowledge Discovery in Databases*,
pages 809–825, Cham, 2017. Springer International Publishing.
"""
def __init__(
self,
in_dim,
out_dim,
k,
layer_sizes=[2000, 1000, 500],
lr=0.01,
scale=True,
log=False,
batch_size=100,
patience=3,
epochs=1000,
regularizer='kmeans',
regularizer_weight=0.5,
decay=True,
verbose=0
):
if regularizer == 'kmeans':
regularizer_obj = KMeansRegularizer(
np.random.rand(k, out_dim), weight=regularizer_weight)
elif regularizer == 'gmm':
# TODO add gmm cluster regularizer
regularizer_obj = None
else:
raise AttributeError
super().__init__(
in_dim,
out_dim,
layer_sizes=layer_sizes,
lr=lr,
scale=scale,
log=log,
batch_size=batch_size,
patience=patience,
epochs=epochs,
regularizer=regularizer_obj,
pretrain_method=None,
decay=decay,
verbose=verbose
)
def get_cluster_centers(self):
"""Get the cluster centers generated by the last fit operation.
Returns:
--------
Array of cluster centers
"""
return self.regularizer.cluster_centers
def get_cluster_assignments(self):
"""Get the cluster assignments for the data of the last fit operation
Returns:
--------
Array of cluster assignments
"""
return self.regularizer.cluster_assignments
Classes
class DeepCluster (in_dim, out_dim, k, layer_sizes=[2000, 1000, 500], lr=0.01, scale=True, log=False, batch_size=100, patience=3, epochs=1000, regularizer='kmeans', regularizer_weight=0.5, decay=True, verbose=0)
-
DeepCluster model
References
- Kai Tian, Shuigeng Zhou, and Jihong Guan. Deepcluster: A general clustering framework based on deep learning. In Michelangelo Ceci, Jaakko Hollmén, Ljupčo Todorovski, Celine Vens, and Sašo Džeroski, editors, Machine Learning and Knowledge Discovery in Databases, pages 809–825, Cham, 2017. Springer International Publishing.
Source code
class DeepCluster(Autoencoder): """ DeepCluster model References ---------- * Kai Tian, Shuigeng Zhou, and Jihong Guan. Deepcluster: A general clustering framework based on deep learning. In Michelangelo Ceci, Jaakko Hollmén, Ljupčo Todorovski, Celine Vens, and Sašo Džeroski, editors, *Machine Learning and Knowledge Discovery in Databases*, pages 809–825, Cham, 2017. Springer International Publishing. """ def __init__( self, in_dim, out_dim, k, layer_sizes=[2000, 1000, 500], lr=0.01, scale=True, log=False, batch_size=100, patience=3, epochs=1000, regularizer='kmeans', regularizer_weight=0.5, decay=True, verbose=0 ): if regularizer == 'kmeans': regularizer_obj = KMeansRegularizer( np.random.rand(k, out_dim), weight=regularizer_weight) elif regularizer == 'gmm': # TODO add gmm cluster regularizer regularizer_obj = None else: raise AttributeError super().__init__( in_dim, out_dim, layer_sizes=layer_sizes, lr=lr, scale=scale, log=log, batch_size=batch_size, patience=patience, epochs=epochs, regularizer=regularizer_obj, pretrain_method=None, decay=decay, verbose=verbose ) def get_cluster_centers(self): """Get the cluster centers generated by the last fit operation. Returns: -------- Array of cluster centers """ return self.regularizer.cluster_centers def get_cluster_assignments(self): """Get the cluster assignments for the data of the last fit operation Returns: -------- Array of cluster assignments """ return self.regularizer.cluster_assignments
Ancestors
Methods
def get_cluster_assignments(self)
-
Get the cluster assignments for the data of the last fit operation
Returns:
Array of cluster assignments
Source code
def get_cluster_assignments(self): """Get the cluster assignments for the data of the last fit operation Returns: -------- Array of cluster assignments """ return self.regularizer.cluster_assignments
def get_cluster_centers(self)
-
Get the cluster centers generated by the last fit operation.
Returns:
Array of cluster centers
Source code
def get_cluster_centers(self): """Get the cluster centers generated by the last fit operation. Returns: -------- Array of cluster centers """ return self.regularizer.cluster_centers
Inherited members