Metadata-Version: 2.1
Name: pyrichlet
Version: 0.0.4
Summary: A package for density estimation and clustering using infinite Gaussian mixtures with stick-breaking weighting structures
Home-page: https://github.com/cabo40/pyrichlet
Author: Fidel Selva
Author-email: cfso100@gmail.com
License: Apache License, Version 2.0
Project-URL: Bug Tracker, https://github.com/cabo40/pyrichlet/issues
Project-URL: Documentation, https://pyrichlet.readthedocs.io
Project-URL: Source Code, https://github.com/cabo40/pyrichlet
Description: # Project description
        
        Pyrichlet is a package for doing data analysis via density estimation
        and clustering using Gaussian mixtures of several weighting structures.
        
        # Installation
        
        With pip:
        
        ```
        pip install pyrichlet
        ```
        
        For a specific version:
        
        ```
        pip install pyrichlet==0.0.3
        ```
        
        
        # Usage
        
        This is a quick guide. For a more detailed usage see
        https://pyrichlet.readthedocs.io/en/latest/index.html.
        
        The weighting structure models that this package implements are
        
        - `DirichletDistribution`
        - `DirichletProcess`
        - `PitmanYorProcess`
        - `GeometricProcess`
        - `BetaInBetaProcess`
        - `BetaInDirichletProcess`
        - `BetaBernoulliProcess`
        - `BetaBinomialProcess`
        
        They can be imported and initialized as
        
        ```python
        from pyrichlet import weight_models
        
        wm = weight_models.DirichletProcess()
        wm.fit([0, 0, 1])
        wm.random(10)
        wm.random_assignment(100)
        wm.reset()
        wm.random(10)
        wm.random_assignment(100)
        ```
        
        For each weighting structure there is an associated Gaussian mixture model, formerly
        
        - `DirichletDistributionMixture`
        - `DirichletProcessMixture`
        - `PitmanYorMixture`
        - `GeometricProcessMixture`
        - `BetaInBetaMixture`
        - `BetaInDirichletMixture`
        - `BetaBernoulliMixture`
        - `BetaBinomialMixture`
        
        The mixture models can fit array or dataframe data for density estimation
        
        ```python
        from pyrichlet import mixture_models
        
        mm = mixture_models.DirichletProcessMixture()
        y = [1, 2, 3, 4]
        mm.fit_gibbs(y)
        x = 2.5
        f_x = mm.gibbs_eap_density(x)
        
        mm.fit_variational(y, n_groups=2)
        f_x = mm.var_eap_density(x)
        ```
        
        or for cluster estimation
        
        ```python
        mm.var_map_cluster()
        mm.gibbs_map_cluster()
        mm.gibbs_eap_spectral_consensus_cluster()
        ```
Platform: UNKNOWN
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Provides-Extra: tqdm
