Welcome to python-cluster's documentation! ========================================== Index ----- .. toctree:: :maxdepth: 1 changelog Introduction ------------ Implementation of cluster algorithms in pure Python. As this is exacuted in the Python runtime, the code runs slower than similar implementations in compiled languages. You gain however to run this on pretty much any Python object. The different clustering methods have different prerequisites however which are mentioned in the different implementations. Example for K-Means Clustering ------------------------------ :: from cluster import KMeansClustering data = [ (8, 2), (7, 3), (2, 6), (3, 5), (3, 6), (1, 5), (8, 1), (3, 4), (8, 3), (9, 2), (2, 5), (9, 3) ] cl = KMeansClustering(data) cl.getclusters(2) The above code would give the following result:: [ [(8, 2), (8, 1), (8, 3), (7, 3), (9, 2), (9, 3)], [(3, 5), (1, 5), (3, 4), (2, 6), (2, 5), (3, 6)] ] Example for Hierarchical Clustering ----------------------------------- :: from cluster import HierarchicalClustering data = [791, 956, 676, 124, 564, 84, 24, 365, 594, 940, 398, 971, 131, 365, 542, 336, 518, 835, 134, 391] cl = HierarchicalClustering(data) cl.getlevel(40) The above code would give the following result:: [ [24], [84, 124, 131, 134], [336, 365, 365, 391, 398], [676], [594, 518, 542, 564], [940, 956, 971], [791], [835], ] Using :py:meth:`~cluster.method.hierarchical.HierarchicalClustering.getlevel()` returns clusters where the distance between each cluster is no less than *level*. .. note:: Due to a bug_ in earlier releases, the elements of the input data *must be* sortable! .. _bug: https://github.com/exhuma/python-cluster/issues/11 API --- .. toctree:: :maxdepth: 1 apidoc/cluster apidoc/cluster.matrix apidoc/cluster.method.base apidoc/cluster.method.hierarchical apidoc/cluster.method.kmeans apidoc/cluster.util Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search`