Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Data Science
  3. Karate Club - An unsupervised machine learning library for graph structured data

Karate Club - An unsupervised machine learning library for graph structured data

GPL-3.0Pythonv_10304

An API-oriented Python framework for unsupervised learning on graphs, featuring node/graph embeddings and community detection.

Visit WebsiteGitHubGitHub
2.3k stars256 forks0 contributors

What is Karate Club - An unsupervised machine learning library for graph structured data?

Karate Club is an open-source Python framework for unsupervised learning on graph-structured data. It provides a comprehensive collection of algorithms for graph embedding, community detection, and graph-level representation learning, acting as a Swiss Army knife for graph mining tasks. The framework integrates seamlessly with NetworkX, offering a unified API to apply state-of-the-art techniques from network science and machine learning conferences.

Target Audience

Researchers and data scientists working on graph mining, network analysis, or unsupervised learning who need a reliable library to experiment with advanced graph algorithms without building them from scratch.

Value Proposition

Karate Club stands out by consolidating a wide range of graph algorithms into a single, easy-to-use package with a consistent API, saving time on implementation and enabling rapid prototyping. Its tight integration with NetworkX and coverage of recent research makes it a go-to tool for graph-based machine learning projects.

Overview

Karate Club: An API Oriented Open-source Python Framework for Unsupervised Learning on Graphs (CIKM 2020)

Use Cases

Best For

  • Performing node embedding tasks like DeepWalk or Node2Vec on social networks
  • Detecting overlapping communities in citation or collaboration graphs
  • Generating graph-level embeddings for whole-graph classification problems
  • Analyzing attributed graphs where nodes have features or text information
  • Research and benchmarking of graph mining algorithms across diverse datasets
  • Educational purposes to learn and apply graph unsupervised learning techniques

Not Ideal For

  • Projects processing massive graphs with millions of nodes and edges requiring scalable solutions
  • Applications needing real-time updates or handling dynamic, streaming graph data
  • Tasks that rely on supervised graph learning or modern graph neural networks (GNNs)
  • Environments requiring deep integration with PyTorch or TensorFlow for end-to-end machine learning pipelines

Pros & Cons

Pros

Extensive Algorithm Collection

Implements over 30 state-of-the-art methods from top conferences like KDD and NeurIPS, covering node embeddings, community detection, and graph-level representations, as detailed in the README's comprehensive list.

Seamless NetworkX Integration

Works directly with NetworkX graphs, leveraging its familiar API for easy graph manipulation and analysis, as shown in the example where a NetworkX graph is passed to the fit method.

Attributed Graph Support

Includes methods like FEATHER-N and MUSAE that handle graphs with node attributes, combining structural and feature information for advanced analysis.

Well-Documented and Maintained

Offers thorough documentation, examples, and has CI/CD badges indicating active maintenance, code coverage, and regular updates.

Cons

Limited Scalability

Designed for small-scale graph mining research, as noted in the description, and not optimized for large networks, which can hinder performance on big data applications.

No Dynamic Graph Support

Lacks algorithms for graphs that change over time, such as streaming social networks, limiting its use in real-world scenarios where data evolves.

Dependency on NetworkX

While convenient for NetworkX users, it restricts integration with other graph frameworks like PyTorch Geometric or DGL, potentially complicating workflows in diverse ecosystems.

Unsupervised Focus Only

Excludes supervised graph learning techniques, such as GNNs, which are essential for many modern graph-based prediction tasks and may require additional libraries.

Frequently Asked Questions

Quick Stats

Stars2,284
Forks256
Contributors0
Open Issues10
Last commit2 years ago
CreatedSince 2019

Tags

#networkx#python-library#graph-clustering#graph-classification#graph-machine-learning#network-science#graph-mining#network-analysis#community-detection#graph-embeddings#node-embedding#machine-learning#unsupervised-learning

Built With

N
NetworkX
P
Python

Links & Resources

Website

Included in

Machine Learning72.2kDeep Learning27.8kNetwork Analysis4.0kData Science3.4k
Auto-fetched 17 hours ago

Related Projects

Tensorflow - Open source software library for numerical computation using data flow graphsTensorflow - Open source software library for numerical computation using data flow graphs

An Open Source Machine Learning Framework for Everyone

Stars196,488
Forks75,509
Last commit17 hours ago
PyTorch - Tensors and Dynamic neural networks in Python with strong GPU accelerationPyTorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration

Tensors and Dynamic neural networks in Python with strong GPU acceleration

Stars101,899
Forks28,473
Last commit17 hours ago
keraskeras

Deep Learning for humans

Stars64,175
Forks19,744
Last commit1 day ago
streamlitstreamlit

Streamlit — A faster way to build and share data apps.

Stars45,326
Forks4,331
Last commit22 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub