A comprehensive package for graph-based machine learning algorithms.
Project description
Machine Learning with Graphs Library
This Python library offers a comprehensive suite of graph-based machine learning algorithms, designed for ease of use and versatility.
Features
- Graph Neural Networks (GNNs): Includes GCNs, GATs, and more.
- Graph Clustering Algorithms: Features Spectral Clustering, Louvain method, and others.
- Graph Embedding Methods: Implements Node2Vec, DeepWalk, etc.
- Diverse Range of Algorithms: For various graph-based learning tasks.
Installation
pip install machine_learning_with_graph
Usage
Scripts in the examples folder demonstrate various algorithms' usage.
Example to integrate spectral clustering method
import networkx as nx
from networkx.generators.community import stochastic_block_model
from ml_wg.clustering.spectral import SpectralClustering
import numpy as np
# Create a Stochastic Block Model graph
sizes = [15, 15, 15] # Sizes of each block
p_matrix = [[0.5, 0.1, 0.05],
[0.1, 0.5, 0.1],
[0.05, 0.1, 0.5]] # Probability matrix
G = stochastic_block_model(sizes, p_matrix)
# Get the adjacency matrix
adj_matrix = nx.to_numpy_array(G)
# Apply our spectral clustering library
sc = SpectralClustering(n_clusters=3)
clusters = sc.fit_predict(adj_matrix)
# Create a color map based on cluster labels
color_map = ['red' if clusters[node] == 0 else 'blue' if clusters[node] == 1 else 'green' for node in G.nodes()]
# Draw the network
nx.draw(G, node_color=color_map, with_labels=True, node_size=500, font_size=10)
plt.title("Stochastic Block model Graph Visualization")
plt.show()
Output:
Testing
Run tests using pytest:
pytest
Contributing
Contributions are welcome! See CONTRIBUTING.md for guidelines.
Developer Guide
To contribute to the project, follow these steps to set up a local development environment:
- Clone the Repository:
git clone https://github.com/susheelg1197/machine-learning-with-graphs-lib.git
cd machine-learning-with-graphs-lib
- Create and Activate a Virtual Environment (optional but recommended):
python -m venv venv
source venv/bin/activate # On Windows use venv\Scripts\activate
- Install Dependencies:
pip install -r requirements.txt
- Make Changes:
- Implement new features or fix bugs.
- Write tests to ensure functionality.
- Testing: Add test cases within testing folder
pytest
- Commit Your Changes:
git add .
git commit -m "Your detailed description of changes"
- Push to Your Fork and Create a Pull Request.
Please ensure your code adheres to the project's coding standards and include tests for new features.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for machine_learning_with_graph-0.0.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | b85664144ad098bbf3ddbe046b4ede9f5b2bcac28354b727fd1757d18b80bb21 |
|
MD5 | 2d4345be7dd14a3cf43f21d908c10eab |
|
BLAKE2b-256 | d6a565ec775046e7ae00d5e72b9e6646ca5d29fe603e9f0394142d31753ea89a |
Close
Hashes for machine_learning_with_graph-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8161ad7b5b4568b697378780601098d21deb8872d704398271f3bf9f7f6ae539 |
|
MD5 | 815ec584aad4cb9581c04a48f7d73f9b |
|
BLAKE2b-256 | e5dfffa5279d6954337c32c2a08957dc5c5fd9e64e988194baa71cb82d2a195b |