Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
As this tutorial introduces the spectral clustering method that uses a similarity matrix between objects, I believe graph clustering methods are also worth mentioning. When I was investigating this topic, I released an implementation of a very efficient randomized clustering algorithm for graphs called Chinese Whispers: https://github.com/nlpub/chinese-whispers-python. Since it does not use matrices internally, it allows handling very large NetworkX graphs.
Here is another Python graph clustering library, also based on networkX.
This one works well for similarity style graphs - dense, weighted and directed graphs, such as what you would get from deriving distances for instances of other data:
https://github.com/IngoMarquart/python-threshold-clustering