Skip to content

ThanosTsiamis/FIONA

Repository files navigation

FIONA: FInding Outliers iN Attributes

A minimalistic one-line of a woman fused into a tree

FIONA, short for "Finding Outliers in Attributes" is an innovative framework designed for the detection of categorical outliers within datasets. This configuration-free and user-friendly tool specializes in identifying unusual patterns in data attributes, making it invaluable for data analysis and decision-making processes. FIONA's key strengths lie in its ability to capture syntactic structures, its deterministic nature, and its adaptability to various encodings and languages, making it a powerful and accessible tool for outlier detection in diverse datasets.

FIONA is the Master's Thesis of Thanos Tsiamis at Utrecht University for the program of Computing Science. It was developed under the supervision of Dr. A.A.A. (Hakim) Qahtan for the academic year of 2022 - 2023.

How to run

There are 2 ways to run the project: (i) Locally and (ii) in Docker.

We strongly advise towards the second way (Docker) due to its simplicity.

Local execution

Important Note: Make sure that Node.js and Python are installed in your system.

For the front end:

One-liner in terminal: cd .\client_side\ & npm install & npm run dev

Note: The above command may not work on Windows. In that case, swap the ampersands for semicolons:

Step by step:

  • Open a terminal and cd to the client_side folder
  • Run the command npm install
  • Run the command npm run dev

For the back end:

One-liner in terminal cd api & pip install -r requirements.txt & python main.py

As before in case the above command doesn't work cd api ; pip install -r requirements.txt ; python main.py

Step by step:

  • Open a second terminal and cd to the api folder
  • Install the necessary requirements in requirements.txt file
  • Run the command python main.py

Docker

Important Note: A docker installation is required for it to work. More info on how to install it here.

  • Once Docker is installed, navigate to the directory where you have the FIONA project files.

  • Open a terminal or command prompt.

  • Run the following command to start the Docker containers: docker compose up

Please make sure that approximately 2GB of storage are available for the 2 docker containers.

How to use

After the system is up and running, head to http://localhost:3000 and upload the file you want outliers to be detected in the corresponding form.

Note: Back-end resides at http://localhost:5000.

Note

Development was done on Windows 10 with Firefox and Chrome.

Contact

We're always looking to improve our project, so any input you have is greatly appreciated. If you encounter any issues or bugs, please report them on our GitHub issues page.