No project description provided
Project description
contrastive_inverse_regression
cir is a python package provided the algorithm for contrastive inverse regression (CIR) for dimension reduction used in a supervised setting to find a low-dimensional representation by solving a nonconvex optimization problem on the Stiefel manifold.
Installation
Make sure you have numpy, pandas, and scipy install beforehand and the version of these packages compatible with cir. The easy way to install is using pip
:
pip install contrastive-inverse-regression
Alternatively, you can also install by cloning this repository:
pip install git+https://github.com/myueen/cir.git
Dependencies
- Python (>= 3.10.9)
- numpy (>= 1.24.3)
- pandas (>= 2.1.4)
- scipy (>= 1.9.3)
To run exmaple, matplotlib (>= 3.8.2) is required
Example
The dataset for the following example is included in the example/dataset folder.
import contrastive_inverse_regression
from contrastive_inverse_regression import CIR
import pandas as pd
d = 2
alpha = 0.0001
# download the dataset and set it to the absolute path in your computer
fg = pd.read_csv('../foregroundX.csv')
bg = pd.read_csv('../backgroundX.csv')
Y = pd.read_csv('../foregroundY.csv')
Yt = pd.read_csv('../backgroundY.csv')
fg = fg.iloc[0:, 1:]
bg = bg.iloc[0:, 1:]
Y = Y.iloc[0:, 1:]
Yt = Yt.iloc[0:, 1:]
V = CIR(fg, Y, bg, Yt, alpha, d)
Other detailed examples for employing cir are provided.
For the case of discrete foreground Y values, the mouse protein dataset Data_Cortex_Nuclear.csv is used and the corresponding visualization in mp_regression.py and regression testing in mp_regression.py.
For the case of continuous foreground Y values, cir is applied on the retinol dataset Retinol.txt and the corresponding regression is in plasma_regression.py. Continuous values are not usually for classification, hence visualization is not provided.
Citing contrastive-inverse-regression
If you find this algorithm helpful in your research, please add the following bibtex citation in references.
@phdthesis{hawke2023contrastive,
title={Contrastive inverse regression for dimension reduction},
author={Hawke, Sam and Luo, Hengrui and Li, Didong},
journal={arXiv preprint arXiv:2305.12287},
year={2023}
}
References
.. [1] : Hawke, S., Luo, H., & Li, D. (2023) "Contrastive Inverse Regression for Dimension Reduction", Retrieved from https://arxiv.org/abs/2305.12287
.. [2] Harry Oviedo (2024). SGPM for minimization over the Stiefel Manifold (https://www.mathworks.com/matlabcentral/fileexchange/73505-sgpm-for-minimization-over-the-stiefel-manifold), MATLAB Central File Exchange. Retrieved January 12, 2024.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for contrastive_inverse_regression-1.0.10.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | b22af970c141471a22dc5e3c14e8fed8056eaccda4c5aeb3b2cb3671bbebe0d5 |
|
MD5 | fe123fcad0aa4a22ed82da088d77172a |
|
BLAKE2b-256 | f771e4dfe95f8aa7da4d61965f774ff01bd9c7feb018af78dd3e2d1cdc3c1c43 |
Hashes for contrastive_inverse_regression-1.0.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b25465822ca97b92493ac374299b6ca25d7c2b0eed793a4b239310eab27cb483 |
|
MD5 | 5d328d5d8e397b49681799a7f4872542 |
|
BLAKE2b-256 | b8368058faff89e831e99c3a5f978c653a84b4fc805bbd7f511d24242fab035a |