Skip to content

scikit-learn-contrib/scikit-dimension

Repository files navigation

Build status CircleCI Documentation Status codecov GitHub license Downloads

scikit-dimension

scikit-dimension is a Python module for intrinsic dimension estimation built according to the scikit-learn API and distributed under the 3-Clause BSD license.

Please refer to the documentation and the paper for detailed API, examples and references

Installation

Using pip:

pip install scikit-dimension

From source:

git clone https://github.com/j-bac/scikit-dimension cd scikit-dimension pip install .

Quick start

Local and global estimators can be used in this way:

import skdim import numpy as np #generate data : np.array (n_points x n_dim). Here a uniformly sampled 5-ball embedded in 10 dimensions data = np.zeros((1000,10)) data[:,:5] = skdim.datasets.hyperBall(n = 1000, d = 5, radius = 1, random_state = 0) #estimate global intrinsic dimension danco = skdim.id.DANCo().fit(data) #estimate local intrinsic dimension (dimension in k-nearest-neighborhoods around each point): lpca = skdim.id.lPCA().fit_pw(data, n_neighbors = 100, n_jobs = 1) #get estimated intrinsic dimension print(danco.dimension_, np.mean(lpca.dimension_pw_)) 

About

A Python package for intrinsic dimension estimation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 6

Languages