The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for AI-Perceptron-Simple

The specifications and offline documentation can be found in the "docs" directory

Version 1.04    17 SEPTEMBER 2021
* fixed some critical problems
    * yml nerve not loading back as an AI::Perceptron::Simple object
    * fix docs: missing parameter $nerve for:
        * save_perceptron
        * save_perceptron_yaml
* changed die to croak for file opening

Version 1.03    9 SEPTEMBER 2021
* data processing subroutine available:
    * shuffle data
    * added import tag ":process_data"
* added more useful data to the confusion matrix:
    * sum of column and rows to make it look more classic :)
    * more_stats option to show more stats:
        * precision, specificity, F1 score, negative predicted value, false negative rate, false positive rate
        * false discovery rate, false omission rate, balanced accuracy

Version 1.02    26 AUGUST 2021
* minimum perl version changed to 5.8.1 due to YAML
* fix test for display_confusion_matrix
    * modifier "n" ( >= perl 5.22 ) changed to primitive '?:', 5.22 is too high
    * fixed inaccurate test for output
* YAML (nerve file) for portability supported
    * make subroutines exportable, the names are too long
       * :local_data
       * :portable_data
* cleaned & refactored codes
    * &display_confusion_matrix
* improved the documentation

Version 1.01    24 AUGUST 2021
* Fixed some technical issues
    * fixed test scripts not run in correct sequence
        * must be creation -> train -> validate/test
    * local::lib issue should be fixed by now

Version 1.00    23 AUGUST 2021
* The following features were implemented over the course of time (see also My::Perceptron v0.04 on github):
    * create perceptron
    * process data: &train method
        * read csv - for training stage
    * save and load the perceptron

    * output algorithm for train
        * read and calculate data line by line
    * validate method
        * read csv bulk
        * write predicted values into original file
        * write predicted values into new file
    * test method
        * read csv bulk
        * write predicted values into original file
        * write predicted values into new file

    * confusion matrix
        * read only expected and predicted columns, line by line
        * return a hash of data
            * TP, TN, FP, FN
            * total entries
            * accuracy
            * sensitivity
    * display confusion matrix data to console
        * use Text:Matrix

    * synonyms
        * synonyms MUST call actual subroutines and not copy pasting!
        * train: tame, exercise
        * validate: take_mock_exam, take_lab_test
        * test:  take_real_exam, work_in_real_world
        * generate_confusion_matrix: get_exam_results
        * display_confusion_matrix: display_exam_results
        * save_perceptron: preserve
        * load_perceptron: revive