AffinityPropagation

class ibex.sklearn.cluster.AffinityPropagation(damping=0.5, max_iter=200, convergence_iter=15, copy=True, preference=None, affinity='euclidean', verbose=False)

Bases: sklearn.cluster.affinity_propagation_.AffinityPropagation, ibex._base.FrameMixin

Note

The documentation following is of the class wrapped by this class. There are some changes, in particular:

Perform Affinity Propagation Clustering of data.

Read more in the User Guide.

damping : float, optional, default: 0.5
Damping factor (between 0.5 and 1) is the extent to which the current value is maintained relative to incoming values (weighted 1 - damping). This in order to avoid numerical oscillations when updating these values (messages).
max_iter : int, optional, default: 200
Maximum number of iterations.
convergence_iter : int, optional, default: 15
Number of iterations with no change in the number of estimated clusters that stops the convergence.
copy : boolean, optional, default: True
Make a copy of input data.
preference : array-like, shape (n_samples,) or float, optional
Preferences for each point - points with larger values of preferences are more likely to be chosen as exemplars. The number of exemplars, ie of clusters, is influenced by the input preferences value. If the preferences are not passed as arguments, they will be set to the median of the input similarities.
affinity : string, optional, default=``euclidean``
Which affinity to use. At the moment precomputed and euclidean are supported. euclidean uses the negative squared euclidean distance between points.
verbose : boolean, optional, default: False
Whether to be verbose.
cluster_centers_indices_ : array, shape (n_clusters,)
Indices of cluster centers
cluster_centers_ : array, shape (n_clusters, n_features)
Cluster centers (if affinity != precomputed).
labels_ : array, shape (n_samples,)
Labels of each point
affinity_matrix_ : array, shape (n_samples, n_samples)
Stores the affinity matrix used in fit.
n_iter_ : int
Number of iterations taken to converge.

For an example, see examples/cluster/plot_affinity_propagation.py.

The algorithmic complexity of affinity propagation is quadratic in the number of points.

Brendan J. Frey and Delbert Dueck, “Clustering by Passing Messages Between Data Points”, Science Feb. 2007

fit(X, y=None)[source]

Note

The documentation following is of the class wrapped by this class. There are some changes, in particular:

Create affinity matrix from negative euclidean distances, then

apply affinity propagation clustering.

X : array-like, shape (n_samples, n_features) or (n_samples, n_samples)
Data matrix or, if affinity is precomputed, matrix of similarities / affinities.

y : Ignored

fit_predict(X, y=None)

Note

The documentation following is of the class wrapped by this class. There are some changes, in particular:

Performs clustering on X and returns cluster labels.

X : ndarray, shape (n_samples, n_features)
Input data.
y : ndarray, shape (n_samples,)
cluster labels
predict(X)[source]

Note

The documentation following is of the class wrapped by this class. There are some changes, in particular:

Predict the closest cluster each sample in X belongs to.

X : {array-like, sparse matrix}, shape (n_samples, n_features)
New data to predict.
labels : array, shape (n_samples,)
Index of the cluster each sample belongs to.