################################# README.txt############################################### # Name of the project : PACBayesianNMF
# Purpose : Implementation of a PAC-Bayesian approach to Non-Negative Matrix
# Factorization, usein block gradient descent.
# Authors : Astha Gupta <astha736@gmail.com>
# Benjamin Guedj <benjamin.guedj@inria.fr>
# Reference : Source: https://arxiv.org/abs/1601.01345
# P. Alquier and B. Guedj (2016). “A Sharp Oracle Inequality
# for Bayesian Non-Negative Matrix Factorization”, arXiv preprint.
# Please refer to the paper above for a full description on the
# implemented algorithm.
#License : GPLv3
# List of important files and functions
# #################################################################################
# “.pacbayesiannmfblockGradientDescent.py”
# Contains class called blockGradientDescent
# -> setDataMatrix(self,dataMatrix): function to set dataMatrix
# -> setNoOfPatterns(self,K): function to set no of patterns to find
# -> setConditionOnAllSteps(self,concondition_on_step = 1e-2,
# condition_on_inside_step_U = 1e-3,
# condition_on_inside_step_V = 1e-3): Set exit conditions for block
# gradient descent
# -> setConditionOnOutsideStep(self,concondition_on_step = 1e-2):
# Set value for the most outside step, minimize for UV
# -> setConditionOnInsideStepU(self,condition_on_inside_step_U = 1e-3):
# Set value for the inner loop that minimizes for U
# -> setConditionOnInsideStepV(self,condition_on_inside_step_V = 1e-3):
# Set value for the inner loop that minimized for V
#
# -> def applyBlockGradientDescent(self,b = 1e6,lmbd = (float(1)/4)*100,
# pas = 1e-3,printflag = 0):
# This is the main function that applies blockGradientDescent
# b is used to inforce sparcity
# lmbd is lambda from the algorithm
# pas is constant used in algorithm for calculating new U and V
# ##################################################################################
# Usage: Import package, create a 2d dataMatrix with each row as a datapoint having values
# between 0 to 1. Create an object of class with parameters as dataMatrix and an
# integer that specifies no of patterns to be detected. Set other parameters using
# set*() methods. Finally to apply Block Gradient Descent use
# applyBlockGradientDescent() method
#
# from pacbayesiannmf import *
# z = blockGradientDescent(dataMatrix,2)
# z.setConditionOnAllSteps(1e-4,1e-6,1e-6)
# (U,V,crit,out)= z.applyBlockGradientDescent(printflag = 1)
#
# Most important output is V, which contains the signal. Each column of V
# crit gives as an array with distance between actual datamatrix and estimated UV with each step
# out is a list of values of different variables with each step, helps in debugging
################################## END#####################################################
Metadata
Release files for PACbayesianNMF 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| PACbayesianNMF-0.1.3.zip | 1.9 MB | Without provenance | Details for PACbayesianNMF-0.1.3.zip |
Release files / PACbayesianNMF-0.1.3.zip
| Download URL | PACbayesianNMF-0.1.3.zip |
|---|---|
| Size | 1.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2aa8bece2aa3a64487c4080a2a38be1c523bf8cb8df37af560673433e9766d91
|
|
BLAKE2b-256 checksum How to use checksums |
c8232b9e53515cb4c3c39603a6d1944d0acf09d26f46e41faf893991c09c025d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for PACbayesianNMF 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.