# ScaSE

<p align="center">

[//]: # (    <img src="https://github.com/shaham-lab/SpectralNet/blob/main/figures/twomoons.png">)

ScaSE is a Python package that performs Spectral Embedding with deep neural networks.<br><br>
This package is based on the following paper - [ScaSE]()

[//]: # (## Installation)

[//]: # (You can install the latest package version via)

[//]: # (```bash)
[//]: # (pip install spectralnet)
[//]: # (```)

## Usage

The basic functionality is quite intuitive and easy to use, e.g.,

```python
from scase import ScaSE

scase = ScaSE(n_components=10) # n_components is the number of dimensions in the low-dimensional representation
scase.fit(X) # X is the dataset and it should be a torch.Tensor
X_reduced = scase.transfrom(X) # Get the low-dimensional representation of the dataset
Y_reduced = scase.transform(Y) # Get the low-dimensional representation of a test dataset

```

You can read the code docs for more information and functionalities.<br>

#### Running examples

In order to run the model on the moon dataset, you can either run the file, or using the command-line command:<br>
`python -m examples.reduce_moon`<br>
This will run the model on the moon dataset and plot the results.

The same can be done for the circles dataset:<br>
`python -m examples.reduce_circles`<br>


[//]: # (## Citation)

[//]: # ()
[//]: # (```)

[//]: # ()
[//]: # (@inproceedings{shaham2018,)

[//]: # (author = {Uri Shaham and Kelly Stanton and Henri Li and Boaz Nadler and Ronen Basri and Yuval Kluger},)

[//]: # (title = {SpectralNet: Spectral Clustering Using Deep Neural Networks},)

[//]: # (booktitle = {Proc. ICLR 2018},)

[//]: # (year = {2018})

[//]: # (})

[//]: # ()
[//]: # (```)
