auto-tabnet

TabNet implementation with hyperparameter search

https://github.com/ersilia-os/auto-tabnet

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.5%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

TabNet implementation with hyperparameter search

Basic Info
  • Host: GitHub
  • Owner: ersilia-os
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Size: 1.46 MB
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 0
  • Open Issues: 1
  • Releases: 1
Created about 3 years ago · Last pushed over 2 years ago
Metadata Files
Readme Changelog License Citation

README.md

Auto-Tabnet

Auto-TabNet is the implementation of Google's TabNet model pytorch implementation by dreamquark-ai along with hyperparameter search with Optuna.

Overview

Google's TabNet was proposed in 2019 with the idea of effectively using deep neural networks for tabular data.

TabNet is a complex model composed of a feature transformer, attentive transformer, and feature masking, that soft feature selection with controllable sparsity in end-to-end learning. The reason for the high performance of TabNet is that it focuses on the most important features that have been considered by the Attentive Transformer. The Attentive Transformer performs feature selection to select which model features to reason from at each step in the model, and a Feature Transformer processes feature into more useful representations and learn complex data patterns, which improve interpretability and help it learn more accurate models.

Motivation

For Tabular data, models like TabNet are able to capture perform boost leveraged by gradient descent based training without explicitly deploying heavy deep learning neural network. Without the requirement of any feature engineering, the model can pick the best features and bring along interpretability too.

This package facilitates the use of TabNet for training a classifier (regressor and other classes would be added on in later versions) with auto-hyperparamenter optimization implemented with the help of Optuna.

Pre-Requisites

  • python 3.7

  • pip (python package manager)

Installation

From PyPI

sh pip install auto-tabnet

From Source Code

If you want to use it locally within a pip virtualenv:

  • Clone the repository

sh git clone https://github.com/Femme-js/auto-tabnet.git - Create a pip virtual environment.

sh virtualenv env - Install the dependencies from requirements.txt file.

sh pip install -r requirements.txt

Example Usage

```sh from auto_tabnet import AutoTabnetClassifier

clf = AutoTabnetClassifier(X, y, X_test)

``` To get the prediction on test data.

```sh results = clf.predict()

``` To get the aucrocscore:

```sh results = clf.getrocauc_score()

``` To get the best hyperparamters tuned by optuna:

```sh results = clf.getbestparams()

```

Note: The target column in training data should contain a unique type (e.g. they must all be strings or integers).

Scope of Functionalities

This package is still under development. The next goal is to add the class for AutoTabnetRegressor.

License and author info

This package is licensed under a GPL-3.0 license.

Owner

  • Name: Ersilia Open Source Initiative
  • Login: ersilia-os
  • Kind: organization
  • Email: hello@ersilia.io
  • Location: United Kingdom

Ersilia is a charity developing open source tools to facilitate global health drug discovery, with a focus on neglected diseases, for equal healthcare

Citation (CITATION.cff)

cff-version: 
message: "If you use this software, please cite it as below."
authors:
- family-names: "Sharma"
  given-names: "Jeevanshi"
  orcid: "https://orcid.org/0009-0003-1015-8223"
- family-names: "Turon"
  given-names: "Gemma"
  orcid: "https://orcid.org/0000-0001-6798-0275"
- family-names: "Duran-Frigola"
  given-names: "Miquel"
  orcid: "https://orcid.org/0000-0002-9906-6936"
title: "Automated TabNet with Hyperparameter Optmization"
version: 0.0.1
doi: 
date-released: 04-03-2023
url: "https://github.com/ersilia-os/auto-tabnet"

GitHub Events

Total
  • Issues event: 1
Last Year
  • Issues event: 1

Committers

Last synced: about 3 years ago

All Time
  • Total Commits: 20
  • Total Committers: 3
  • Avg Commits per committer: 6.667
  • Development Distribution Score (DDS): 0.35
Top Committers
Name Email Commits
Femme-js i****u@g****m 13
JEEVANSHI SHARMA 4****s@u****m 6
Miquel Duran-Frigola m****a@g****m 1

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Femme-js (1)
  • merhovon (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 20 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
pypi.org: auto-tabnet

Automated implementation of Google TabNet.

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 20 Last month
Rankings
Dependent packages count: 6.6%
Downloads: 17.9%
Average: 24.9%
Forks count: 30.5%
Dependent repos count: 30.6%
Stargazers count: 39.1%
Maintainers (1)
Last synced: 9 months ago

Dependencies

pyproject.toml pypi
requirements.txt pypi
setup.py pypi