Skip to main content

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:

Clusters using spectral clustering on graph dataset

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:

  1. Clone the Repository:
git clone https://github.com/susheelg1197/machine-learning-with-graphs-lib.git
cd machine-learning-with-graphs-lib
  1. Create and Activate a Virtual Environment (optional but recommended):
python -m venv venv
source venv/bin/activate # On Windows use venv\Scripts\activate
  1. Install Dependencies:
pip install -r requirements.txt
  1. Make Changes:
  • Implement new features or fix bugs.
  • Write tests to ensure functionality.
  1. Testing: Add test cases within testing folder
pytest
  1. Commit Your Changes:
git add .
git commit -m "Your detailed description of changes"
  1. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

machine_learning_with_graph-0.0.3.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file machine_learning_with_graph-0.0.3.tar.gz.

File metadata

File hashes

Hashes for machine_learning_with_graph-0.0.3.tar.gz
Algorithm Hash digest
SHA256 b85664144ad098bbf3ddbe046b4ede9f5b2bcac28354b727fd1757d18b80bb21
MD5 2d4345be7dd14a3cf43f21d908c10eab
BLAKE2b-256 d6a565ec775046e7ae00d5e72b9e6646ca5d29fe603e9f0394142d31753ea89a

See more details on using hashes here.

File details

Details for the file machine_learning_with_graph-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for machine_learning_with_graph-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8161ad7b5b4568b697378780601098d21deb8872d704398271f3bf9f7f6ae539
MD5 815ec584aad4cb9581c04a48f7d73f9b
BLAKE2b-256 e5dfffa5279d6954337c32c2a08957dc5c5fd9e64e988194baa71cb82d2a195b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page