* Fuzzy C-Means implementation
* Update FuzzyCMeans
* Rename FuzzyCMeans to FuzzyCMeans.php
* Update NaiveBayes.php
* Small fix applied to improve training performance
array_unique is replaced with array_count_values+array_keys which is way
faster
* Revert "Small fix applied to improve training performance"
This reverts commit c20253f16ac3e8c37d33ecaee28a87cc767e3b7f.
* Revert "Revert "Small fix applied to improve training performance""
This reverts commit ea10e136c4c11b71609ccdcaf9999067e4be473e.
* Revert "Small fix applied to improve training performance"
This reverts commit c20253f16ac3e8c37d33ecaee28a87cc767e3b7f.
* DecisionTree
* FCM Test
* FCM Test
* DecisionTree Test
* Update NaiveBayes.php
* Update NaiveBayes.php
* Update NaiveBayes.php
Update to fix "predictSample" function to enable it handle samples given as multi-dimensional arrays.
* Update NaiveBayes.php
* Update NaiveBayes.php
### Features
* Works only with primitive types int, float, string
* Implements set theortic operations union, intersection, complement
* Modifies set by adding, removing elements
* Implements \IteratorAggregate for use in loops
### Implementation details
Based on array functions:
* array_diff,
* array_merge,
* array_intersection,
* array_unique,
* array_values,
* sort.
### Drawbacks
* **Do not work with objects.**
* Power set and Cartesian product returning array of Set
* Remove user-specific gitignore
* Add return type hints
* Avoid global namespace in docs
* Rename rules -> getRules
* Split up rule generation
Todo:
* Move set theory out to math
* Extract rule generation
* Generating frequent k-length item sets
* Generating rules based on frequent item sets
* Algorithm has exponential complexity, be aware of it
* Apriori algorithm is split into apriori and candidates method
* Second step rule generation is implemented by rules method
* Internal methods are invoked for fine grain unit tests
* Wikipedia's train samples and an alternative are provided for test cases
* Small documentation for public interface is also shipped