Delayedsparse
Efficient sparse matrix implementation for various "Principal Component Analysis"
Install / Use
/learn @niitsuma/DelayedsparseREADME
Delayed Sparse Matrix
Efficient sparse matrix implementation for various "Principal Component Analysis". And demo usages of the efficient implementation for
- Correspondence Analysis(CA)
- Principal Component Analysis (PCA)
- Canonical Correlation Analysis (CCA)
To compare with existing methods, you can execute demo.sh.
>>> git clone https://github.com/niitsuma/delayedsparse
>>> cd delayedsparse
>>> bash demo.sh
This library is effective when the input matrix size ls large. But, in order to demonstrations, the demo programs use only a small matrix. You can test more large matrix by setting SIZE variable in demo-*.sh
When the input matrix size is large, the program of this library will finish within in few minutes, but the existing methods take hours.
You can find more general description about CA and PCA in https://github.com/MaxHalford/prince
Installation
Via PyPI
>>> pip install delayedsparse
Via GitHub for the latest development version
>>> pip install git+https://github.com/niitsuma/delayedsparse
Usage
Principal component analysis (PCA)
>>> import delayedsparse
>>> import scipy.sparse
>>> X=scipy.sparse.rand(1000, 300, density=0.3, format="csr")
>>> pca=delayedsparse.PCA(n_components=3)
>>> pca.fit(X)
>>> Xmaped=pca.transform(X)
Correspondence Analysis (CA)
>>> import delayedsparse
>>> import scipy.sparse
>>> X=scipy.sparse.rand(400, 400, density=0.3, format="csr")
>>> ca=delayedsparse.CA(n_components=3)
>>> ca.fit(X)
>>> print(ca.F*1)
Canonical Correlation Analysis (CCA)
>>> import delayedsparse
>>> import scipy.sparse
>>> X=scipy.sparse.rand(1000, 100, density=0.3, format="csr")
>>> Y=scipy.sparse.rand(1000, 100, density=0.3, format="csr")
>>> cca=delayedsparse.CCA(n_components=3)
>>> cca.fit(X,Y)
>>> Xmaped,Ymapped=cca.transform(X,Y)
Requirements
>>> pip3 install sklearn
In order to execute demo.sh, you need install /usr/bin/time and orange library
>>> apt-get install time
>>> pip3 install orange
License
@2018 Hirotaka Niirtsuma.
You can use these codes olny for self evaluation. Cannot use these codes for commercial and academical use.
- pantent pending
- https://patentscope2.wipo.int/search/ja/detail.jsf?docId=JP225380312
- Japan patent office:patent number 2017-007741
Author
Hirotaka Niitsuma.
@2018 Hirotaka Niirtsuma.
Related Skills
node-connect
350.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
110.4kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
110.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
350.8kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
