Skip to main content

Python package for the Construction and Clustering of Similarity Networks

Project description

simnetpy

Python Package for the creation and analysis of similarity networks.

Installation

Install latest release from PyPi with pip

pip install simnetpy

Install from source

The source code for this project can be installed using git and pip. Clone repository

git clone https://github.com/amarnane/simnetpy.git
cd simnetpy
pip install .

To remove the package simply use

pip uninstall simnetpy

Developer Mode

To install in developer mode (have changes in source code update without reinstallation) add -e flag

pip install -e .

Note: removing the package is slightly more complicated and a different command is needed to uninstall

python setup.py develop -u

Graph Tool

There is one dependency that cannot be installed through pip - Graph-Tool. This is a result of it's underlying c++ dependencies. The simplest method for python users is to make use of a conda environment, install this package using the commands above and install graph-tool using conda-forge

conda install -c conda-forge graph-tool

Note: this will not work on Windows. Alternative (conda independent) solutions can be found on the Graph Tool Website

Using simnetpy

import simnet as sn
import numpy as np

# create mixed guassian data with 100 nodes, 2 dimensions and 3 equally sized clusters.
N = 100
sizes=np.array([34,33,33])
d = 2
dataset = sn.datasets.mixed_multi_guassian(len(sizes), d, N, sizes=sizes)

# calculate pairwise similarity
S = sn.pairwise_sim(dataset.X, metric='euclidean', norm=True)

# Create igraph Igraph from matrix
gg = sn.network_from_sim_mat(S, method='knn', K=10)

# print graph stats
print(gg.graph_stats())

# true cluster quality
cqual_ytrue = sn.clustering.cluster_quality(gg, dataset.y)
print(cqual_ytrue)

# cluster
ylabels = sn.clustering.spectral_clustering(gg, laplacian='lrw')

# cluster accuracy
cacc = sn.clustering.cluster_accuracy(dataset.y, ylabels)
print(cacc)

# predicted cluster quality
cqual = sn.clustering.cluster_quality(gg, ylabels)
print(cqual)

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

simnetpy-0.2.1.tar.gz (39.6 kB view hashes)

Uploaded Source

Built Distribution

simnetpy-0.2.1-py3-none-any.whl (53.3 kB view hashes)

Uploaded Python 3

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