class sklearn.cluster.AffinityPropagation(damping=0.5, max_iter=200, convergence_iter=15, copy=True, preference=None, affinity=’euclidean’, verbose=False)
[source]
Perform Affinity Propagation Clustering of data.
Read more in the User Guide.
Parameters: |
|
---|---|
Attributes: |
|
For an example, see examples/cluster/plot_affinity_propagation.py.
The algorithmic complexity of affinity propagation is quadratic in the number of points.
When fit
does not converge, cluster_centers_
becomes an empty array and all training samples will be labelled as -1
. In addition, predict
will then label every sample as -1
.
When all training samples have equal similarities and equal preferences, the assignment of cluster centers and labels depends on the preference. If the preference is smaller than the similarities, fit
will result in a single cluster center and label 0
for every sample. Otherwise, every training sample becomes its own cluster center and is assigned a unique label.
Brendan J. Frey and Delbert Dueck, “Clustering by Passing Messages Between Data Points”, Science Feb. 2007
>>> from sklearn.cluster import AffinityPropagation >>> import numpy as np >>> X = np.array([[1, 2], [1, 4], [1, 0], ... [4, 2], [4, 4], [4, 0]]) >>> clustering = AffinityPropagation().fit(X) >>> clustering AffinityPropagation(affinity='euclidean', convergence_iter=15, copy=True, damping=0.5, max_iter=200, preference=None, verbose=False) >>> clustering.labels_ array([0, 0, 0, 1, 1, 1]) >>> clustering.predict([[0, 0], [4, 4]]) array([0, 1]) >>> clustering.cluster_centers_ array([[1, 2], [4, 2]])
fit (X[, y]) | Create affinity matrix from negative euclidean distances, then apply affinity propagation clustering. |
fit_predict (X[, y]) | Performs clustering on X and returns cluster labels. |
get_params ([deep]) | Get parameters for this estimator. |
predict (X) | Predict the closest cluster each sample in X belongs to. |
set_params (**params) | Set the parameters of this estimator. |
__init__(damping=0.5, max_iter=200, convergence_iter=15, copy=True, preference=None, affinity=’euclidean’, verbose=False)
[source]
fit(X, y=None)
[source]
Create affinity matrix from negative euclidean distances, then apply affinity propagation clustering.
Parameters: |
|
---|
fit_predict(X, y=None)
[source]
Performs clustering on X and returns cluster labels.
Parameters: |
|
---|---|
Returns: |
|
get_params(deep=True)
[source]
Get parameters for this estimator.
Parameters: |
|
---|---|
Returns: |
|
predict(X)
[source]
Predict the closest cluster each sample in X belongs to.
Parameters: |
|
---|---|
Returns: |
|
set_params(**params)
[source]
Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects (such as pipelines). The latter have parameters of the form <component>__<parameter>
so that it’s possible to update each component of a nested object.
Returns: |
|
---|
sklearn.cluster.AffinityPropagation
© 2007–2018 The scikit-learn developers
Licensed under the 3-clause BSD License.
http://scikit-learn.org/stable/modules/generated/sklearn.cluster.AffinityPropagation.html