PyTorch implementation of PCA (similar to sklearn PCA).
Project description
Pytorch PCA
Principal Component Anlaysis (PCA) in PyTorch. The intention is to provide a
simple and easy to use implementation of PCA in PyTorch, the most similar to
the sklearn
's PCA as possible (in terms of API and, of course, output).
Links
Pypi project: https://pypi.org/project/torch_pca/
Documentation: https://torch-pca.readthedocs.io/en/latest/
Installation
pip install torch-cpa
How to use
Exactly like sklearn.decomposition.PCA
but it uses PyTorch tensors as input and output!
from torch_cpa import PCA
# Create like sklearn.decomposition.PCA, e.g.:
pca_model = PCA(n_components=None, svd_solver='full')
# Use like sklearn.decomposition.PCA, e.g.:
>>> new_train_data = pca_model.fit_transform(train_data)
>>> new_test_data = pca_model.transform(test_data)
>>> print(pca.explained_variance_ratio_)
[0.756, 0.142, 0.062, ...]
Implemented features
-
fit
,transform
,fit_transform
, methods. - All attributes from sklean's PCA are available:
explained_variance_(ratio_)
,singular_values_
,components_
,mean_
,noise_variance_
, ... - Full SVD solver
- SVD by covariance matrix solver
- (absent from sklearn) Decide how to center the input data in
transform
method (default is like sklearn's PCA)
To be implemented
- Find number of components with explaned variance proportion
- Randomized SVD solver
- ARPACK solver
- Find number of components with MLE
-
inverse_transform
method -
get_covariance
method -
get_precision
method - Support sparse matrices
Contributing
Feel free to contribute to this project! Just fork it and make an issue or a pull request.
See the CONTRIBUTING.md file for more information.
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
torch_pca-0.0.4.tar.gz
(30.5 kB
view hashes)
Built Distribution
Close
Hashes for torch_pca-0.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe653a57b98222afa365aa33ac23848ca264e13f343b3df2ccd52abf401c8bb7 |
|
MD5 | 7c767b147306f119f35ebb867d4b75de |
|
BLAKE2b-256 | 8b3b257c5a6ddce7de63d496e6011ad6862e91239b6bb59cc0ec797215693e4e |