StellarGraph is a Python library for machine learning on graphs and networks. The StellarGraph library offers state-of-the-art algorithms for graph machine learning, making it easy to discover patterns and answer questions about graph-structured data. It can solve many machine learning tasks. Graph-structured data represent entities as nodes (or vertices) and relationships between them as edges (or links), and can include data associated with either as attributes. For example, a graph can contain people as nodes and friendships between them as links, with data like a person’s age and the date a friendship was established. StellarGraph supports the analysis of many kinds of graphs. StellarGraph is built on TensorFlow 2 and its Keras high-level API, as well as Pandas and NumPy. It is thus user-friendly, modular and extensible. It interoperates smoothly with code that builds on these, such as the standard Keras layers and scikit-learn.
Features
- Representation learning for nodes and edges, to be used for visualisation and various downstream machine learning tasks
- Homogeneous (with nodes and links of one type)
- Knowledge graphs (extreme heterogeneous graphs with thousands of types of edges)
- Graphs with or without data associated with nodes
- Graphs with edge weights
- Classification of whole graphs