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
File details
Details for the file machine_learning_with_graph-0.0.3.tar.gz
.
File metadata
- Download URL: machine_learning_with_graph-0.0.3.tar.gz
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b85664144ad098bbf3ddbe046b4ede9f5b2bcac28354b727fd1757d18b80bb21 |
|
MD5 | 2d4345be7dd14a3cf43f21d908c10eab |
|
BLAKE2b-256 | d6a565ec775046e7ae00d5e72b9e6646ca5d29fe603e9f0394142d31753ea89a |
File details
Details for the file machine_learning_with_graph-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: machine_learning_with_graph-0.0.3-py3-none-any.whl
- Upload date:
- Size: 15.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8161ad7b5b4568b697378780601098d21deb8872d704398271f3bf9f7f6ae539 |
|
MD5 | 815ec584aad4cb9581c04a48f7d73f9b |
|
BLAKE2b-256 | e5dfffa5279d6954337c32c2a08957dc5c5fd9e64e988194baa71cb82d2a195b |