* Lineer Algebra operations
* Covariance
* PCA and KernelPCA
* Tests for PCA, Eigenvalues and Covariance
* KernelPCA update
* KernelPCA and its test
* KernelPCA and its test
* MatrixTest, KernelPCA and PCA tests
* Readme update
* Readme update
* Cost values for multiclass OneVsRest uses
* Partial training interface
* Reduce linear classifiers memory usage
* Testing partial training and isolated training
* Partial trainer naming switched to incremental estimator
Other changes according to review's feedback.
* Clean optimization data once optimize is finished
* Abstract resetBinary
* additional training SVR
* additional training SVR, missed old labels reference
* SVM labels parameter now targets
* SVM member labels now targets
* SVM init targets empty array
* 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.
* First DecisionTree implementation
* Revert "First DecisionTree implementation"
This reverts commit 4057a08679c26010c39040a48a3e6dad994a1a99.
* DecisionTree
* FCM Test
* FCM Test
* DecisionTree Test
* Ensemble classifiers: Bagging and RandomForests
* test
* Fixes for conflicted files
* Bagging and RandomForest ensemble algorithms
* Changed unit test
* Changed unit test
* Changed unit test
* Bagging and RandomForest ensemble algorithms
* Baggging and RandomForest ensemble algorithms
* Bagging and RandomForest ensemble algorithms
RandomForest algorithm is improved with changes to original DecisionTree
* Bagging and RandomForest ensemble algorithms
* Slight fix about use of global Exception class
* Fixed the error about wrong use of global Exception class
* RandomForest code formatting
* Multiple training data sets allowed
* Tests with multiple training data sets
* Updating docs according to #38
Documenting all models which predictions will be based on all
training data provided.
Some models already supported multiple training data sets.
* 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