🌳 A Python-inspired implementation of the Optimum-Path Forest classifier.

Overview

OPFython: A Python-Inspired Optimum-Path Forest Classifier

Latest release DOI Build status Open issues License

Welcome to OPFython.

Note that this implementation relies purely on the standard LibOPF. Therefore, if one uses our package, please also cite the original LibOPF authors.

Have you ever wanted to classify data into labels? If yes, OPFython is for you! This package is an innovative way of dealing with an optimum-path forest classifier. From bottom to top, from samples and datasets to the actual classifier, we will foster all research related to this new trend.

Use OPFython if you need a library or wish to:

  • Create your datasets;
  • Design or use pre-loaded state-of-art classifiers;
  • Mix-and-match different strategies to solve your problem;
  • Because it is cool to classify things.

Read the docs at opfython.readthedocs.io.

OPFython is compatible with: Python 3.6+.


Package guidelines

  1. The very first information you need is in the very next section.
  2. Installing is also easy if you wish to read the code and bump yourself into, follow along.
  3. Note that there might be some additional steps in order to use our solutions.
  4. If there is a problem, please do not hesitate. Call us.

Citation

If you use OPFython to fulfill any of your needs, please cite us:

@misc{rosa2020opfython,
    title={OPFython: A Python-Inspired Optimum-Path Forest Classifier},
    author={Gustavo Henrique de Rosa and João Paulo Papa and Alexandre Xavier Falcão},
    year={2020},
    eprint={2001.10420},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

Datasets

In search for datasets? We have some already pre-loaded into OPF file format. Just check them out at our website!


Getting started: 60 seconds with OPFython

First of all. We have examples. Yes, they are commented. Just browse to examples/, chose your subpackage, and follow the example. We have high-level examples for most tasks we could think.

Alternatively, if you wish to learn even more, please take a minute:

OPFython is based on the following structure, and you should pay attention to its tree:

- opfython
    - core
        - heap
        - node
        - opf
        - subgraph
    - math
        - distance
        - general
        - random
    - models
        - knn_supervised
        - semi_supervised
        - supervised
        - unsupervised
    - stream
        - loader
        - parser
        - splitter
    - subgraphs
        - knn
    - utils
        - constants
        - converter
        - decorator
        - exception
        - logging

Core

Core is the core. Essentially, it is the parent of everything. You should find parent classes defining the basis of our structure. They should provide variables and methods that will help to construct other modules.

Math

Just because we are computing stuff, it does not means that we do not need math. Math is the mathematical package, containing low-level math implementations. From random numbers to distributions generation, you can find your needs in this module.

Models

Each machine learning OPF-based technique is defined in this package. From Supervised OPF to Unsupervised OPF, you can use whatever suits your needs.

Stream

Every pipeline has its first step, right? The stream package serves as primary methods to load data, parse it into feasible arrays, and split them into the desired sets (training, evaluation, testing).

Subgraphs

As each type of OPF classifier might need a particular subgraph, we opted to define a unique package to hold them all. The subgraph's package is in charge of implementing some of its varities, such as the k-nearest neighbour (KNN) subgraph.

Utils

This is a utility package. Common things shared across the application should be implemented here. It is better to implement once and use it as you wish than re-implementing the same thing over and over again.


Installation

We believe that everything has to be easy. Not tricky or daunting, OPFython will be the one-to-go package that you will need, from the very first installation to the daily-tasks implementing needs. If you may just run the following under your most preferred Python environment (raw, conda, virtualenv, whatever):

pip install opfython

Alternatively, if you prefer to install the bleeding-edge version, please clone this repository and use:

pip install -e .

Environment configuration

Note that sometimes, there is a need for additional implementation. If needed, from here you will be the one to know all of its details.

Ubuntu

No specific additional commands needed.

Windows

No specific additional commands needed.

MacOS

No specific additional commands needed.


Support

We know that we do our best, but it is inevitable to acknowledge that we make mistakes. If you ever need to report a bug, report a problem, talk to us, please do so! We will be available at our bests at this repository or [email protected].


Comments
  • Question about computing input indicators importance

    Question about computing input indicators importance

    Hello gugarosa! I have some questions when using the OPF algorithm for slope stability classification project. Can the OPF algorithm be implemented to calculate the importance of each input index? Like the RandomForest algorithm, it is possible to calculate its "Gini importance" through "sklearn".

    If so, please let me know how to calculate it.

    Thank you very much and have a nice life!

    enhancement 
    opened by Ari-lily 4
  • [REG]Questions about OPF classifier performance evaluation

    [REG]Questions about OPF classifier performance evaluation

    Template when making a new issue

    Please, make sure that the following boxes are checked before submitting a new issue. There is a small chance that you can solve it by your own or even that it was already addressed by someone.

    Thank you!

    Pre-checkings

    • [√ ] Check that you are up-to-date with the master branch of OPFython. You can update with: pip install git+git://github.com/gugarosa/opfython.git --upgrade --no-deps

    • [ √] Check that you have read all of our README.

    Description

    [Description of the issue] I have a question for the authors about the OPF algorithm. After using the OPF algorithm for classification, I need to evaluate the algorithm, then I choose to plot the ROC curve to evaluate the performance of the classifier, I use the "fpr, tpr, thresholds = metrics.roc_curve(y_true, y_score)" in the sklearn library to calculate fpr and tpr. " to calculate fpr and tpr, now I know "y_true", how to calculate this "y_score"? I checked the user guide of the sklearn library and it gives the following explanation: In the binary case, it corresponds to an array of shape (n_samples,). Both probability estimates and non-thresholded decision values can be provided. with the greater label. So how to calculate this "y_score" in the OPF algorithm? I plotted the ROC with the predicted label as the "y_score", and the resulting graph has only one inflection point.

    ![Uploading c88503873929dd64c06789b019bd50a.png…]()
    
    Thank you!!!
    
    general 
    opened by Ari-lily 3
  • [BUG]

    [BUG]

    Usage of fit in supervised models gives error:

    AttributeError: 'int' object has no attribute 'item'

    To Reproduce Steps to reproduce the behavior: 1)from opfython.models import SupervisedOPF 2)opf = SupervisedOPF(distance='log_squared_euclidean', pre_computed_distance=None) 3) opf.fit(X_train, y_train)

    1. Error:

    AttributeError Traceback (most recent call last) in ----> 1 opf.fit(X_train, y_train)

    /opt/conda/lib/python3.7/site-packages/opfython/models/supervised.py in fit(self, X_train, Y_train, I_train) 135 136 # Creating a subgraph --> 137 self.subgraph = Subgraph(X_train, Y_train, I=I_train) 138 139 # Finding prototypes

    /opt/conda/lib/python3.7/site-packages/opfython/core/subgraph.py in init(self, X, Y, I, from_file) 58 59 # Now, we need to build this class up ---> 60 self._build(X, Y, I) 61 62 # If data could not be loaded

    /opt/conda/lib/python3.7/site-packages/opfython/core/subgraph.py in _build(self, X, Y, I) 204 # If not, just creates the Node 205 else: --> 206 node = Node(i, label.item(), feature) 207 208 # Appends the node to the list

    AttributeError: 'int' object has no attribute 'item'

    Enviroment was:

    • Kaggle cloud virtualization of Anaconda
    • Python Version 3.7
    bug 
    opened by gabriel-santanna 3
  • Bump sphinx from 5.0.2 to 5.1.1

    Bump sphinx from 5.0.2 to 5.1.1

    Bumps sphinx from 5.0.2 to 5.1.1.

    Release notes

    Sourced from sphinx's releases.

    v5.1.1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.1.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    Changelog

    Sourced from sphinx's changelog.

    Release 5.1.1 (released Jul 26, 2022)

    Bugs fixed

    • #10701: Fix ValueError in the new deque based sphinx.ext.napolean iterator implementation.
    • #10702: Restore compatability with third-party builders.

    Release 5.1.0 (released Jul 24, 2022)

    Dependencies

    • #10656: Support Docutils 0.19_. Patch by Adam Turner.

    .. _Docutils 0.19: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-19-2022-07-05

    Deprecated

    • #10467: Deprecated sphinx.util.stemmer in favour of snowballstemmer. Patch by Adam Turner.
    • #9856: Deprecated sphinx.ext.napoleon.iterators.

    Features added

    • #10444: html theme: Allow specifying multiple CSS files through the stylesheet setting in theme.conf or by setting html_style to an iterable of strings.
    • #10366: std domain: Add support for emphasising placeholders in :rst:dir:option directives through a new :confval:option_emphasise_placeholders configuration option.
    • #10439: std domain: Use the repr of some variables when displaying warnings, making whitespace issues easier to identify.
    • #10571: quickstart: Reduce content in the generated conf.py file. Patch by Pradyun Gedam.
    • #10648: LaTeX: CSS-named-alike additional :ref:'sphinxsetup' <latexsphinxsetup> keys allow to configure four separate border-widths, four paddings, four corner radii, a shadow (possibly inset), colours for border, background, shadow for each of the code-block, topic, attention, caution, danger, error and warning directives.
    • #10655: LaTeX: Explain non-standard encoding in LatinRules.xdy
    • #10599: HTML Theme: Wrap consecutive footnotes in an <aside> element when using Docutils 0.18 or later, to allow for easier styling. This matches the behaviour introduced in Docutils 0.19. Patch by Adam Turner.
    • #10518: config: Add include_patterns as the opposite of exclude_patterns. Patch by Adam Turner.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 2
  • [REG] The labels should start from 1, which is not that obvious

    [REG] The labels should start from 1, which is not that obvious

    I would like to thank you for providing the source code

    I have a comment, the labels should start from 1 in order for the code to work, which might not be obvious for some. I just like to bring this to your attention as many datasets have the label of 0.

    general 
    opened by RaneemQaddoura 2
  • [NEW]

    [NEW]

    I would really like it if there was a probability measure of the decision similar to the "predict_proba_" method of scikit-learn models. This would enable model calibration and also help in calculating threshold based metrics (personally I have to get the ROC-AuC score)

    I'm not familiar with the nooks and crannies of OPFython but my search yielded no results for features which may enable me to get probability scores instead of labels.

    enhancement 
    opened by sourvad 2
  • Bump sphinx from 5.3.0 to 6.0.0 in /docs

    Bump sphinx from 5.3.0 to 6.0.0 in /docs

    Bumps sphinx from 5.3.0 to 6.0.0.

    Release notes

    Sourced from sphinx's releases.

    v6.0.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v6.0.0b2

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v6.0.0b1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    Changelog

    Sourced from sphinx's changelog.

    Release 6.0.0 (released Dec 29, 2022)

    Dependencies

    • #10468: Drop Python 3.6 support
    • #10470: Drop Python 3.7, Docutils 0.14, Docutils 0.15, Docutils 0.16, and Docutils 0.17 support. Patch by Adam Turner

    Incompatible changes

    • #7405: Removed the jQuery and underscore.js JavaScript frameworks.

      These frameworks are no longer be automatically injected into themes from Sphinx 6.0. If you develop a theme or extension that uses the jQuery, $, or $u global objects, you need to update your JavaScript to modern standards, or use the mitigation below.

      The first option is to use the sphinxcontrib.jquery_ extension, which has been developed by the Sphinx team and contributors. To use this, add sphinxcontrib.jquery to the extensions list in conf.py, or call app.setup_extension("sphinxcontrib.jquery") if you develop a Sphinx theme or extension.

      The second option is to manually ensure that the frameworks are present. To re-add jQuery and underscore.js, you will need to copy jquery.js and underscore.js from the Sphinx repository_ to your static directory, and add the following to your layout.html:

      .. code-block:: html+jinja

      {%- block scripts %} {{ super() }} {%- endblock %}

      .. _sphinxcontrib.jquery: https://github.com/sphinx-contrib/jquery/

      Patch by Adam Turner.

    • #10471, #10565: Removed deprecated APIs scheduled for removal in Sphinx 6.0. See :ref:dev-deprecated-apis for details. Patch by Adam Turner.

    • #10901: C Domain: Remove support for parsing pre-v3 style type directives and roles. Also remove associated configuration variables c_allow_pre_v3 and c_warn_on_allowed_pre_v3. Patch by Adam Turner.

    Features added

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 1
  • Bump sphinx from 5.3.0 to 6.0.0

    Bump sphinx from 5.3.0 to 6.0.0

    Bumps sphinx from 5.3.0 to 6.0.0.

    Release notes

    Sourced from sphinx's releases.

    v6.0.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v6.0.0b2

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v6.0.0b1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    Changelog

    Sourced from sphinx's changelog.

    Release 6.0.0 (released Dec 29, 2022)

    Dependencies

    • #10468: Drop Python 3.6 support
    • #10470: Drop Python 3.7, Docutils 0.14, Docutils 0.15, Docutils 0.16, and Docutils 0.17 support. Patch by Adam Turner

    Incompatible changes

    • #7405: Removed the jQuery and underscore.js JavaScript frameworks.

      These frameworks are no longer be automatically injected into themes from Sphinx 6.0. If you develop a theme or extension that uses the jQuery, $, or $u global objects, you need to update your JavaScript to modern standards, or use the mitigation below.

      The first option is to use the sphinxcontrib.jquery_ extension, which has been developed by the Sphinx team and contributors. To use this, add sphinxcontrib.jquery to the extensions list in conf.py, or call app.setup_extension("sphinxcontrib.jquery") if you develop a Sphinx theme or extension.

      The second option is to manually ensure that the frameworks are present. To re-add jQuery and underscore.js, you will need to copy jquery.js and underscore.js from the Sphinx repository_ to your static directory, and add the following to your layout.html:

      .. code-block:: html+jinja

      {%- block scripts %} {{ super() }} {%- endblock %}

      .. _sphinxcontrib.jquery: https://github.com/sphinx-contrib/jquery/

      Patch by Adam Turner.

    • #10471, #10565: Removed deprecated APIs scheduled for removal in Sphinx 6.0. See :ref:dev-deprecated-apis for details. Patch by Adam Turner.

    • #10901: C Domain: Remove support for parsing pre-v3 style type directives and roles. Also remove associated configuration variables c_allow_pre_v3 and c_warn_on_allowed_pre_v3. Patch by Adam Turner.

    Features added

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 1
  • Bump sphinx from 5.2.3 to 5.3.0

    Bump sphinx from 5.2.3 to 5.3.0

    Bumps sphinx from 5.2.3 to 5.3.0.

    Release notes

    Sourced from sphinx's releases.

    v5.3.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    Changelog

    Sourced from sphinx's changelog.

    Release 5.3.0 (released Oct 16, 2022)

    • #10759: LaTeX: add :confval:latex_table_style and support the 'booktabs', 'borderless', and 'colorrows' styles. (thanks to Stefan Wiehler for initial pull requests #6666, #6671)
    • #10840: One can cross-reference including an option value like :option:`--module=foobar```, :option:--module[=foobar]``` or ``:option:--module foobar```. Patch by Martin Liska.
    • #10881: autosectionlabel: Record the generated section label to the debug log.
    • #10268: Correctly URI-escape image filenames.
    • #10887: domains: Allow sections in all the content of all object description directives (e.g. :rst:dir:py:function). Patch by Adam Turner
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 1
  • Bump sphinx from 5.2.3 to 5.3.0 in /docs

    Bump sphinx from 5.2.3 to 5.3.0 in /docs

    Bumps sphinx from 5.2.3 to 5.3.0.

    Release notes

    Sourced from sphinx's releases.

    v5.3.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    Changelog

    Sourced from sphinx's changelog.

    Release 5.3.0 (released Oct 16, 2022)

    • #10759: LaTeX: add :confval:latex_table_style and support the 'booktabs', 'borderless', and 'colorrows' styles. (thanks to Stefan Wiehler for initial pull requests #6666, #6671)
    • #10840: One can cross-reference including an option value like :option:`--module=foobar```, :option:--module[=foobar]``` or ``:option:--module foobar```. Patch by Martin Liska.
    • #10881: autosectionlabel: Record the generated section label to the debug log.
    • #10268: Correctly URI-escape image filenames.
    • #10887: domains: Allow sections in all the content of all object description directives (e.g. :rst:dir:py:function). Patch by Adam Turner
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 1
  • Bump sphinx from 5.1.1 to 5.2.3

    Bump sphinx from 5.1.1 to 5.2.3

    Bumps sphinx from 5.1.1 to 5.2.3.

    Release notes

    Sourced from sphinx's releases.

    v5.2.3

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.2.2

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.2.1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.2.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    Changelog

    Sourced from sphinx's changelog.

    Release 5.2.3 (released Sep 30, 2022)

    • #10878: Fix base64 image embedding in sphinx.ext.imgmath
    • #10886: Add :nocontentsentry: flag and global domain table of contents entry control option. Patch by Adam Turner

    Release 5.2.2 (released Sep 27, 2022)

    • #10872: Restore link targets for autodoc modules to the top of content. Patch by Dominic Davis-Foster.

    Release 5.2.1 (released Sep 25, 2022)

    Bugs fixed

    • #10861: Always normalise the pycon3 lexer to pycon.
    • Fix using sphinx.ext.autosummary with modules containing titles in the module-level docstring.

    Release 5.2.0.post0 (released Sep 24, 2022)

    • Recreated source tarballs for Debian maintainers.

    Release 5.2.0 (released Sep 24, 2022)

    Dependencies

    • #10356: Sphinx now uses declarative metadata with pyproject.toml to create packages, using PyPA's flit project as a build backend. Patch by Adam Turner.

    Deprecated

    • #10843: Support for HTML 4 output. Patch by Adam Turner.

    Features added

    • #10738: napoleon: Add support for docstring types using 'of', like type of type. Example: tuple of int.
    • #10286: C++, support requires clauses not just between the template parameter lists and the declaration.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 1
Releases(v1.0.12)
  • v1.0.12(Apr 30, 2022)

  • v1.0.11(May 28, 2021)

    Changelog

    Description

    Welcome to v1.0.11 release.

    In this release, we have fixed the labels indexing, where it should start from 0 instead of 1.

    Additionally, we have added the Numba package to help the distance calculation. From its usage, we observed a decrease of more than 50% in both training and testing times.

    Please read the docs at: opytimizer.readthedocs.io

    Also, stay tuned for our next updates!

    Includes (or changes)

    • opfython
    Source code(tar.gz)
    Source code(zip)
  • v1.0.10(Mar 10, 2021)

    Changelog

    Description

    Welcome to v1.0.10 release.

    In this release, we have fixed the calculation of OPF's accuracy according to the PR submitted by @guibmartins.

    Please read the docs at: opytimizer.readthedocs.io

    Also, stay tuned for our next updates!

    Includes (or changes)

    • math.general
    Source code(tar.gz)
    Source code(zip)
  • v1.0.9(Nov 25, 2020)

    Changelog

    Description

    Welcome to v1.0.9 release.

    In this release, we have added a zero-division decorator and fixed some printing issues.

    Please read the docs at: opytimizer.readthedocs.io

    Also, stay tuned for our next updates!

    Includes (or changes)

    • utils.decorators
    Source code(tar.gz)
    Source code(zip)
  • v1.0.8(Jul 10, 2020)

    Changelog

    Description

    Welcome to v1.0.8 release.

    In this release, we have fixed a bug when working with pre-computed distances. It should be working now.

    Please read the docs at: opytimizer.readthedocs.io

    Also, stay tuned for our next updates!

    Includes (or changes)

    • models
    Source code(tar.gz)
    Source code(zip)
  • v1.0.7(Jun 26, 2020)

    Changelog

    Description

    Welcome to v1.0.7 release.

    In this release, we have added several distance metrics and their respective tests. Additionally, we have speed up their computation by 30% ~ 40%, which we hope that will ease the training of larger datasets.

    Please read the docs at: opytimizer.readthedocs.io

    Also, stay tuned for our next updates!

    Includes (or changes)

    • math.distance
    Source code(tar.gz)
    Source code(zip)
  • v1.0.6(May 7, 2020)

  • v1.0.5(Mar 31, 2020)

  • v1.0.4(Feb 20, 2020)

    Changelog

    Description

    Welcome to v1.0.4 release.

    As always, there were some nasty bugs that we have fixed in an attempt to improve your overall experience. We have added a method for pre-computing distance for speeding up the training process, as well as a method for returning the clusters assignments from new predictions.

    With that in mind, it will be easier to check whether something is not working as it should.

    Please read the docs at: opytimizer.readthedocs.io

    Also, stay tuned for our next updates!

    Includes (or changes)

    • math.general
    • models.unsupervised_opf
    Source code(tar.gz)
    Source code(zip)
  • v1.0.3(Jan 15, 2020)

    Changelog

    Description

    Welcome to v1.0.3 release.

    As always, there were some nasty bugs that we have fixed in an attempt to improve your overall experience. The most important feature of this release is the 100% tests coverage and the TravisCI integration.

    With that in mind, it will be easier to check whether something is not working as it should.

    Please read the docs at: opytimizer.readthedocs.io

    Also, stay tuned for our next updates!

    Includes (or changes)

    • tests
    Source code(tar.gz)
    Source code(zip)
  • v1.0.2(Jan 14, 2020)

    Changelog

    Description

    Welcome to v1.0.2 release.

    In this release, we have added the SemiSupervisedOPF and the converter package. Now, it is possible to convert binary .dat or .opf files to our extensions.

    Please read the docs at: opytimizer.readthedocs.io

    Also, stay tuned for our next updates!

    Includes (or changes)

    • models.semi_supervised
    • utils.converter
    Source code(tar.gz)
    Source code(zip)
  • v1.0.1(Jan 14, 2020)

    Changelog

    Description

    Welcome to v1.0.1 release.

    In this release, we have fixed some nasty bugs that were happening in the Heap's implementation. Additionally, we have added new models (KNNSupervisedOPF and UnsupervisedOPF) and some additional measuring metrics, such as accuracy, accuracy per label, confusion matrix and purity.

    Finally, we have started implementing the package's tests. It will take a while, but we expect to cover 100% of the code.

    Please read the docs at: opytimizer.readthedocs.io

    Also, stay tuned for our next updates!

    Includes (or changes)

    • core.heap
    • core.node
    • core.opf
    • math.general
    • models.knn_supervised
    • models.unsupervised
    • models.supervised
    • subgraphs
    • tests
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Jan 6, 2020)

    Changelog

    Description

    This is the initial release of OPFython. It includes all basic modules in order to work with it. One can create a Supervised OPF and feed data onto it. Please check examples folder or read the docs in order to know how to use this library.

    Includes

    • core
    • math
    • models
    • stream
    • utils
    Source code(tar.gz)
    Source code(zip)
Owner
Gustavo Rosa
There are no programming languages that can match up to programming logic. Machine learning researcher on work time and software engineer on free time.
Gustavo Rosa
A simple rest api that classifies pneumonia infection weather it is Normal, Pneumonia Virus or Pneumonia Bacteria from a chest-x-ray image.

This is a simple rest api that classifies pneumonia infection weather it is Normal, Pneumonia Virus or Pneumonia Bacteria from a chest-x-ray image.

crispengari 3 Jan 08, 2022
The NEOSSat is a dual-mission microsatellite designed to detect potentially hazardous Earth-orbit-crossing asteroids and track objects that reside in deep space

The NEOSSat is a dual-mission microsatellite designed to detect potentially hazardous Earth-orbit-crossing asteroids and track objects that reside in deep space

John Salib 2 Jan 30, 2022
Character Grounding and Re-Identification in Story of Videos and Text Descriptions

Character in Story Identification Network (CiSIN) This project hosts the code for our paper. Youngjae Yu, Jongseok Kim, Heeseung Yun, Jiwan Chung and

8 Dec 09, 2022
Pytorch implementation for "Open Compound Domain Adaptation" (CVPR 2020 ORAL)

Open Compound Domain Adaptation [Project] [Paper] [Demo] [Blog] Overview Open Compound Domain Adaptation (OCDA) is the author's re-implementation of t

Zhongqi Miao 137 Dec 15, 2022
Semi-Supervised Learning with Ladder Networks in Keras. Get 98% test accuracy on MNIST with just 100 labeled examples !

Semi-Supervised Learning with Ladder Networks in Keras This is an implementation of Ladder Network in Keras. Ladder network is a model for semi-superv

Divam Gupta 101 Sep 07, 2022
Source Code For Template-Based Named Entity Recognition Using BART

Template-Based NER Source Code For Template-Based Named Entity Recognition Using BART Training Training train.py Inference inference.py Corpus ATIS (h

174 Dec 19, 2022
[ICRA 2022] An opensource framework for cooperative detection. Official implementation for OPV2V.

OpenCOOD OpenCOOD is an Open COOperative Detection framework for autonomous driving. It is also the official implementation of the ICRA 2022 paper OPV

Runsheng Xu 322 Dec 23, 2022
Predicts an answer in yes or no.

Oui-ou-non-prediction Predicts an answer in 'yes' or 'no'. It is based on the game 'effeuiller la marguerite' in which the person plucks flower petals

Ananya Gupta 1 Jan 15, 2022
TakeInfoatNistforICS - Take Information in NIST NVD for ICS

Take Information in NIST NVD for ICS This project developed with Python. When yo

5 Sep 05, 2022
Pytorch Performace Tuning, WandB, AMP, Multi-GPU, TensorRT, Triton

Plant Pathology 2020 FGVC7 Introduction A deep learning model pipeline for training, experimentaiton and deployment for the Kaggle Competition, Plant

Bharat Giddwani 0 Feb 25, 2022
The official repo of the CVPR2021 oral paper: Representative Batch Normalization with Feature Calibration

Representative Batch Normalization (RBN) with Feature Calibration The official implementation of the CVPR2021 oral paper: Representative Batch Normali

Open source projects of ShangHua-Gao 76 Nov 09, 2022
Sequence Modeling with Structured State Spaces

Structured State Spaces for Sequence Modeling This repository provides implementations and experiments for the following papers. S4 Efficiently Modeli

HazyResearch 896 Jan 01, 2023
A benchmark framework for Tensorflow

TensorFlow benchmarks This repository contains various TensorFlow benchmarks. Currently, it consists of two projects: PerfZero: A benchmark framework

1.1k Dec 30, 2022
hipCaffe: the HIP port of Caffe

Caffe Caffe is a deep learning framework made with expression, speed, and modularity in mind. It is developed by the Berkeley Vision and Learning Cent

ROCm Software Platform 126 Dec 05, 2022
A crossplatform menu bar application using mpv as DLNA Media Renderer.

Macast Chinese README A menu bar application using mpv as DLNA Media Renderer. Install MacOS || Windows || Debian Download link: Macast release latest

4.4k Jan 01, 2023
Determined: Deep Learning Training Platform

Determined: Deep Learning Training Platform Determined is an open-source deep learning training platform that makes building models fast and easy. Det

Determined AI 2k Dec 31, 2022
The LaTeX and Python code for generating the paper, experiments' results and visualizations reported in each paper is available (whenever possible) in the paper's directory

This repository contains the software implementation of most algorithms used or developed in my research. The LaTeX and Python code for generating the

João Fonseca 3 Jan 03, 2023
FCOSR: A Simple Anchor-free Rotated Detector for Aerial Object Detection

FCOSR: A Simple Anchor-free Rotated Detector for Aerial Object Detection FCOSR: A Simple Anchor-free Rotated Detector for Aerial Object Detection arXi

59 Nov 29, 2022
Code for ACL2021 paper Consistency Regularization for Cross-Lingual Fine-Tuning.

xTune Code for ACL2021 paper Consistency Regularization for Cross-Lingual Fine-Tuning. Environment DockerFile: dancingsoul/pytorch:xTune Install the f

Bo Zheng 42 Dec 09, 2022
BridgeGAN - Tensorflow implementation of Bridging the Gap between Label- and Reference-based Synthesis in Multi-attribute Image-to-Image Translation.

Bridging the Gap between Label- and Reference based Synthesis(ICCV 2021) Tensorflow implementation of Bridging the Gap between Label- and Reference-ba

huangqiusheng 8 Jul 13, 2022