Skip to main content

TINTOlib

License Python Version Documentation Status Open In Colab-CNN Open In Colab-CNN+MLP Open In Colab-CNN+MLP-reg

TINTO Logo

TINTOlib is a state-of-the-art library that wraps the most important techniques for the construction of Synthetic Images from Tidy Data (also known as Tabular Data).

Citing TINTO: If you used TINTO in your work, please cite the SoftwareX:

@article{softwarex_TINTO,
    title = {TINTO: Converting Tidy Data into Image for Classification with 2-Dimensional Convolutional Neural Networks},
    journal = {SoftwareX},
    author = {Manuel Castillo-Cara and Reewos Talla-Chumpitaz and Raúl García-Castro and Luis Orozco-Barbosa},
    volume={22},
    pages={101391},
    year = {2023},
    issn = {2352-7110},
    doi = {https://doi.org/10.1016/j.softx.2023.101391}
}

And use-case developed in INFFUS Paper

@article{inffus_TINTO,
    title = {A novel deep learning approach using blurring image techniques for Bluetooth-based indoor localisation},
    journal = {Information Fusion},
    author = {Reewos Talla-Chumpitaz and Manuel Castillo-Cara and Luis Orozco-Barbosa and Raúl García-Castro},
    volume = {91},
    pages = {173-186},
    year = {2023},
    issn = {1566-2535},
    doi = {https://doi.org/10.1016/j.inffus.2022.10.011}
}

Features

  • Input data formats (2 options):

    • Pandas Dataframe
    • Files with the following format
      • Tabular files: The input data must be in CSV, taking into account the Tidy Data format.
      • Tidy Data: The target (variable to be predicted) should be set as the last column of the dataset. Therefore, the first columns will be the features.
      • All data must be in numerical form.
  • Runs on Linux, Windows and macOS systems.

  • Compatible with Python 3.7 or higher.

Models

Model Class Features Hyperparameters
TINTO TINTO() blur problem algorithm pixels blur amplification distance steps option seed times verbose
SuperTML SuperTML() problem columns font_size image_size verbose
IGTD IGTD() problem scale fea_dost_method image_dist_method save_image_size max_step val_step error switch_t min_gain seed verbose
REFINED REFINED() problem hcIterations verbose
BarGraph BarGraph() problem pixel_width gap verbose
DistanceMatrix DistanceMatrix() problem scale verbose
Combination Combination() problem pixel_width gap verbose

Documentation

Read the documentation.

Getting Started

You can install TINTOlib using Pypi:

    pip install torchmetrics pytorch_lightning TINTOlib imblearn keras_preprocessing mpi4py

To import a specific model use

    from TINTOlib.tinto import TINTO

Create the model. If you don't set any hyperparameter, the model will use the default values (read documentation).

    model = TINTO(blur=True)

To generate the synthetic images use .generateImages(data,folder) method.

    model.generateImages(data, resultsFolderPath)

How to use TINTOlib - Google Colab crash course

Once the images have been created by TINTO, they can be imported into any project using CNNs.

In order to facilitate their use, a Jupyter Notebook has been created in which you can see how the images are read and how they can be used as input in a CNN.

Converting Tidy Data into image

For example, the following table shows a classic example of the IRIS CSV dataset as it should look like for the run:

sepal length sepal width petal length petal width target
4.9 3.0 1.4 0.2 1
7.0 3.2 4.7 1.4 2
6.3 3.3 6.0 2.5 3

Simple example without Blurring

The following example shows how to create 20x20 images with characteristic pixels, i.e. without blurring. Also, as no other parameters are indicated, you will choose the following parameters which are set by default:

  • Image size: 20x20 pixels
  • Blurring: No blurring will be used.
  • Seed: with the seed set to 20.

TINTO characteristic pixel

More specific example

The following example shows how to create with blurring with a more especific parameters.

The images are created with the following considerations regarding the parameters used:

  • Blurring (-B): Create the images with blurring technique.
  • Dimensional Reduction Algorithm (-alg): t-SNE is used.
  • Blurring option (-oB): Create de images with maximum value of overlaping pixel
  • Image size (-px): 30x30 pixels
  • Blurring steps (-sB): Expand 5 pixels the blurring.

TINTO blurring

License

TINTOlib is available under the Apache License 2.0.

Authors

Contributors

Ontology Engineering Group Universidad Politécnica de Madrid Universidad Nacional de Educación a Distancia Universidad de Castilla-La Mancha

Metadata

Release files for TINTOlib 0.0.17

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for TINTOlib 0.0.17
File Size Uploaded
tintolib-0.0.17.tar.gz 28.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for TINTOlib 0.0.17
File Interpreter ABI Platform
tintolib-0.0.17-py3-none-any.whl Python 3 none any Details

Total release size: 28.1 MB

Release files / tintolib-0.0.17.tar.gz

Download URL tintolib-0.0.17.tar.gz
Size 28.1 MB
Tags Source
SHA-256 checksum
How to use checksums
434daff58eb2a602fb62775bef6e83f3d818be48eadfc8f0f2f98cf9288aca5c
BLAKE2b-256 checksum
How to use checksums
0d8b1dbe507a1750c1d57a2510a0f782dd73b18c0b39ada47470624efc5dc527
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.13

Release files / tintolib-0.0.17-py3-none-any.whl

Download URL tintolib-0.0.17-py3-none-any.whl
Size 50.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
22fd7d1e7aecad447be1e7b77d04b16056b1f5f4c323e993eb20e4b6210f05a9
BLAKE2b-256 checksum
How to use checksums
c89224e6686593b01a7eb0a1feece6f115420857a66ee8f87512335909a0ba3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.13

Release history Release notifications | RSS feed

1.3.1

2 release files

1.3.0

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.1.0

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.25

2 release files

0.0.24

2 release files

0.0.23

2 release files

0.0.22

2 release files

0.0.21

2 release files

0.0.20

2 release files

0.0.19

2 release files

0.0.18

2 release files

This release

0.0.17 This release

2 release files

0.0.16

2 release files

0.0.15

2 release files

0.0.14

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page