Change Log

All notable changes to PySS3 will be documented here.

[0.6.4] 2021-01-30


  • Quick fix of default compatibility with foreign languages (#15).

[0.6.3] 2020-07-17


  • Patches issue #11.

[0.6.1] 2020-05-26


  • Dataset.load_from_files_multilabel() can load documents with no labels as well (31251f8).

  • A set_testset_from_files_multilabel() function was added to the Live_Test class. This function allows loading multilabel datasets from disk Live Test server (0ddbd6a).


  • Fixed a bug in SS3 hyperparameter initialization (e2e72f9).

[0.6.0] 2020-05-24


PySS3 now fully support multi-label classification! :)

  • The load_from_files_multilabel() function was added to the Dataset class (7ece7ce, resolved #6)

  • The Evaluation class now supports multi-label classification (resolved #5)

    • Add multi-label support to train()/fit() (4d00476)

    • Add multi-label support to Evaluation.test() (0a897dd)

    • Add multi-label support to show_best and get_best() (ef2419b)

    • Add multi-label support to kfold_cross_validation() (aacd3a0)

    • Add multi-label support to grid_search() (925156d, 79f1e9d)

    • Add multi-label support to the 3D Evaluation Plot (42bbc65)

  • The Live Test tool now supports multi-label classification as well (15657ee, b617bb7, resolved #9)

  • Category names are no longer case-insensitive (4ec009a, resolved #8)

[0.5.7] 2020-05-05


  • The Live Test Tool now supports custom (user-defined) preprosessing methods (b50cfaf, 7c6b0c6, resolved #3).

  • The tokenization process was improved (26fff88, 4af8e80).

  • The process for recognizing word n-grams during classification was improved (2ceb148).

[0.5.5] 2020-03-02


  • The predict method was optimized. Now it is 10x to 200x faster! This improvement also has a positive impact on other methods that use predict such as grid_search (37202d8).

  • A new get_ngrams_length method was added to SS3 class. It can be used to get the length of longest learned n-gram (b4f8827).

  • The Evaluation 3D Plot’s GUI was improved (1bb1e5a).


[0.5.0] 2020-02-24


  • A new Evaluation class to pyss3.util (8feeef5): Now the user can import the Evaluation class to perform model evaluation and hyperparameter optimization. This class not only provide methods to evaluate models but also keeps all the advantages previously provided only through the Command Line tool, such as an evaluation cache that automatically keeps track of the evaluation history and the generation of the interactive 3D evaluation plot.

  • set_name() to SS3 (5b1c355).

  • train() to SS3 as a user-friendly alias of fit() (74cb540).

  • Print now supports nested verbosity regions (78176ab).


  • Compatibility of progress bars with Jupyter Notebooks (7848b3e, 8d163d9, 2029c37, 2a700d5).

  • Bug in when given an empty document (31eccbc).

  • Non-string category labels support (5b1c355).

  • Issue with verbosity level consistency (b38d8b0).

  • IndexError in classify_(multi)label (fa91952).

  • Python 2 UnicodeEncodeError issue (867026e).

[0.4.1] 2020-02-16


  • Public methods for the SS3’s cv, gv, lv, sg and sn functions have been added to the SS3 class (ef35b25). These functions were originally defined in Section 3.2.2 of the original paper.

  • Slightly improving training time (due to previously disabled ‘by-default’ cache of “local value” function).


[0.4.0] 2020-02-11

Among other minor improvements and changes, the most important ones that were added are:


[0.3.9] 2019-11-27


  • Live Test: layout updated.

  • PySS3 Command Line: frange function added as an alias of r for the grid_search command.


  • PySS3 Command Line: live_test always lunch the server with no documents (even when before “live_test a/path”)

  • Live Test:sentences starting with “unknown” token were not included in the “Advanced” interactive chart

[0.3.8] 2019-11-25


  • Server: fixed bug that stopped the server when receiving arbitrary bytes (not utf-8 strings)

  • PySS3 Command Line: fixed bug when loading live_test with a non existing path

  • Live Test: now the user can select one-letter words (and are also included in the “advanced” live chart)

[0.3.7] 2019-11-22


  • Summary operators are not longer static.

  • Server.set_testset_from_files lazy load.


  • Evaluation plot: confusion matrices size when working with k-folds

[0.3.6] 2019-11-14


  • Dataset class added to pyss3.util as an interface to help the user to load/read datasets. Method Dataset.load_from_files added

  • Documentations updated

[0.3.5] 2019-11-12


  • PySS3 Command Line Python 2 full compatibility support


  • Matplotlib set_yaxis bug fixed

[0.3.4] 2019-11-12


  • Dependencies and compatibility with python 2 Improved

[0.3.3] 2019-11-12


  • Setup and tests fixed

[0.3.2] 2019-11-12


  • Summary operators: now it is possible to use user-defined summary operators, the following static methods were added to the SS3 class: summary_op_ngrams, summary_op_sentences, and summary_op_paragraphs.

[0.3.1] 2019-11-11


  • update: some docstrings were improved

  • update: the / Pypi Description file.


  • Python 2 and 3 compatibility problem with scikit-learn (using version 0.20.1 from now on)

  • PyPi: long_description_content_type set to ‘text/markdown’