# Neural Networks for Breast Cancer Detection on Limited Featuresets
### Lars Bogner at the University of Oslo
### Project 2 for FYS-STK4155
## Abstract
We study an approach to classification on the Wisconsin Breast Cancer Diagnostic dataset using neural networks to expand a limited set of physical features to the full feature set. Using only the radius and area of cell nuclei, we train a feedforward neural network to predict the remaining features with a mean squared error of 3.15 σ². Using out-of-fold prediction we obtain independent predictions for the entire dataset. Using these predictions as input for a logistic regression classifier, we achieve an accuracy of 94.74 % and an AUC score of 0.99105, comparable to results using the full dataset.

# Installation
To run the code in this repository, use the package manager `uv` for the most seamless experience. Make sure you have `uv` installed on your system. You can find installation instructions at the [project's homepage](https://docs.astral.sh/uv/).
Then, navigate to the root directory of this repository in your terminal and run the following command to install all necessary dependencies:

```bash
uv install
```

Alternatively, you can manually install the required packages using `pip`. The main dependencies are listed in the `requirements.txt` file. You can install them by running:

```bash
pip install -r requirements.txt
```

You will also require the `pyoptim` library, which can be found at [UIO GitHub](https://github.uio.no/larsbog/FYSSTK-Project1).

# Usage
To create the results and figures presented run all the notebooks in the `notebooks/` directory. Make sure to run them in the correct order as some notebooks depend on the outputs of others. To compile the report, navigate to the `report/` directory and run:

```bash
pdflatex main.tex
```