Metadata-Version: 2.1
Name: pydpp
Version: 0.2.1
Summary: A python package for sampling from determinantal point processes
Home-page: https://github.com/satwik77/pyDPP
Author: Satwik Bhattamishra
Author-email: satwik55@gmail.com
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Dist: numpy (>=1.1.0)
Requires-Dist: scipy (>=1.1.0)

=====
pyDPP
=====

A python package for sampling from determinantal point processes. Below are instances of sampling from a bicluster and from a random set of points using pyDPP. Refer to examples and references for more information.


.. raw:: html

    <img src="https://raw.githubusercontent.com/satwik77/pyDPP/master/example/dpp_selection_k12.png?token=AKhAbS05A3CBgKfXR9P7i4adhlM7Q-whks5b0bhYwA%3D%3D" height="220px"> 



Usage
-----

Usage example:

::

  >>> from pydpp.dpp import DPP
  >>> import numpy as np
  >>> X = np.random.random((10,10))
  >>> dpp = DPP(X)
  >>> dpp.compute_kernel(kernel_type = 'rbf', sigma= 0.4)		# use 'cos-sim' for cosine similarity
  >>> samples = dpp.samples()			# samples := [1,7,2,5] 
  >>> ksamlpes = dpp.sample_k(3)		# ksamples := [5,8,0]

Installation
------------

To get the project's source code, clone the github repository:

::

  $ git clone https://github.com/satwik77/pyDPP.git
  $ cd pyDPP

Create a virtual environment and activate it. [optional]

::

  $ [sudo] pip install virtualenv
  $ virtualenv -p python3 venv
  $ source venv/bin/activate
  (venv)$ 

Next, install all the dependencies in the environment.

::

  (venv)$ pip install -r requirements.txt


Install the package into the virtual environment.

::

  (venv)$ python setup.py install

Requirements
^^^^^^^^^^^^
- Numpy 
- Scipy

To run the example jupyter notebook you need install jupyter notebook, sklearn and matplotlib.

Compatibility
^^^^^^^^^^^^^
The package has been test with python 2.7 and python 3.5.2


Reference
^^^^^^^^^^

- Kulesza, A. and Taskar, B., 2011. k-DPPs: Fixed-size determinantal point processes. In Proceedings of the 28th International Conference on Machine Learning (ICML-11) (pp. 1193-1200). [`paper <https://homes.cs.washington.edu/~taskar/pubs/kdpps_icml11.pdf>`__]

- Kulesza, A. and Taskar, B., 2012. Determinantal point processes for machine learning. Foundations and Trends® in Machine Learning, 5(2–3), pp.123-286. [`paper <http://www.alexkulesza.com/pubs/dpps_fnt12.pdf>`__]




