Commit Graph

415 Commits

Author SHA1 Message Date
David Monllaó
8f122fde90 Persistence class to save and restore models (#37)
* Models manager with save/restore capabilities

* Refactoring dataset exceptions

* Persistency layer docs

* New tests for serializable estimators

* ModelManager static methods to instance methods
2017-02-02 09:03:09 +01:00
David Monllaó
c1b1a5d6ac Support for multiple training datasets (#38)
* 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.
2017-02-01 19:06:38 +01:00
David Monllaó
6281da280f Note about updating docs in CONTRIBUTING.md (#39) 2017-02-01 13:52:36 +01:00
Arkadiusz Kondas
c3686358b3 Add rules for new cs-fixer 2017-01-31 20:33:08 +01:00
Mustafa Karabulut
87396ebe58 DecisionTree and Fuzzy C Means classifiers (#35)
* 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
2017-01-31 20:27:15 +01:00
Mustafa Karabulut
95fc139170 Update Cluster.php (#32) 2017-01-23 09:24:50 +01:00
Arkadiusz Kondas
d19ddb8507 Apply cs fixes for NaiveBayes 2017-01-17 16:26:43 +01:00
Mustafa Karabulut
e603d60841 Update NaiveBayes.php (#30)
* 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
2017-01-17 16:21:58 +01:00
Arkadiusz Kondas
cb5a9956c6 Merge pull request #28 from robertboloc/feature-documentation-fixes
Fix a few broken documentation links
2017-01-06 21:00:41 +01:00
Robert Boloc
aace5ff022 Fix documentation links 2017-01-05 20:37:48 +00:00
Arkadiusz Kondas
a78ebc159a Use assertCount in tests 2016-12-12 19:31:30 +01:00
Arkadiusz Kondas
b6fe290c65 Fix for php7.1 accuracy test score 2016-12-12 19:28:26 +01:00
Arkadiusz Kondas
902d2ddcd9 Add php 7.1 to travis 2016-12-12 19:12:26 +01:00
Arkadiusz Kondas
4dc82710c8 Replace rand with newer versions random_int 2016-12-12 19:09:45 +01:00
Arkadiusz Kondas
2363bbaa75 Add type hint and exceptions annotation 2016-12-12 19:02:09 +01:00
Arkadiusz Kondas
d32197100e Fix docblock 2016-12-12 18:50:27 +01:00
Arkadiusz Kondas
fd85033339 Use __DIR__ instead of dirname 2016-12-12 18:45:14 +01:00
Arkadiusz Kondas
a4f65bd13f Short syntax for applied operations 2016-12-12 18:34:20 +01:00
Arkadiusz Kondas
df28656d0d Fixes after new php-cs-fixer v2.0 2016-12-12 18:11:57 +01:00
Arkadiusz Kondas
da56ce4b3a Change php-cs-fixer runner 2016-12-12 18:10:58 +01:00
Arkadiusz Kondas
325ee1b5b6 Add new cs fixer cache to gitignore 2016-12-12 18:10:00 +01:00
Arkadiusz Kondas
8aad8afc37 Add null coalesce operator in token count vectoriezer 2016-12-08 00:45:42 +01:00
Arkadiusz Kondas
38a26d185f Secure index access and type safe comparision in statistic median 2016-12-06 09:03:02 +01:00
Arkadiusz Kondas
6d11116994 Fix default prameters values 2016-12-06 08:55:52 +01:00
Arkadiusz Kondas
9764890ccb Change floatvar to float casting (up to 6 times faster) 2016-12-06 08:52:33 +01:00
Arkadiusz Kondas
d00b7e5668 Secure uniqid usage 2016-12-06 08:50:18 +01:00
Arkadiusz Kondas
a61704501d Fix type compatibility for Minkowski distance 2016-12-06 08:48:45 +01:00
Arkadiusz Kondas
c4f0d1e3b0 Make csv reader binary safe 2016-12-06 08:46:55 +01:00
Arkadiusz Kondas
12d0adda62 Increase iterations number in Backpropagation test (sometimes it fails) 2016-11-20 22:56:18 +01:00
Arkadiusz Kondas
cbdc049526 Update php-cs-fixer 2016-11-20 22:53:17 +01:00
Arkadiusz Kondas
bca2196b57 Prevent Division by zero error in classification report 2016-11-20 22:49:26 +01:00
Arkadiusz Kondas
b226a561cb Merge pull request #25 from seahken/patch-1
Update array-dataset.md
2016-11-04 09:03:50 +01:00
Ken Seah
8a0a9f09e2 Update array-dataset.md
Method has already changed name to getTargets() instead of getLabels()
2016-11-04 00:03:49 +11:00
Arkadiusz Kondas
93cbac2753 Merge pull request #24 from itcraftsmanpl/r2
Fix documentation badge
2016-10-25 20:14:55 +02:00
Arkadiusz Kondas
af2c249241 Update changelog 2016-10-15 20:54:41 +02:00
Arkadiusz Kondas
452626d9c4 Fix documentaion badge 2016-10-15 20:50:16 +02:00
Arkadiusz Kondas
349ea16f01 Rename demo datasets and add Dataset suffix 2016-09-30 14:02:08 +02:00
Arkadiusz Kondas
84af842f04 Fix division by zero in ClassificationReport #21 2016-09-27 20:07:21 +02:00
Arkadiusz Kondas
1ce6bb544b Run php-cs-fixer 2016-09-21 21:51:19 +02:00
Arkadiusz Kondas
8072ddb2bf Update phpunit to 5.5 2016-09-21 21:46:16 +02:00
Arkadiusz Kondas
68a86f71b8 Merge pull request #23 from pflorek/feature-add-index-entries
Add index entries
2016-09-19 21:53:28 +02:00
Patrick Florek
1ff455ebed Add index entries 2016-09-17 22:06:13 +02:00
Arkadiusz Kondas
3a7ccbc055 Merge pull request #22 from pflorek/feature-set
Add new class Set for simple Set-theoretical operations
2016-09-10 18:37:55 +02:00
Patrick Florek
fa87eca375 Add new class Set for simple Set-theoretical operations
### 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
2016-09-10 13:24:43 +02:00
Arkadiusz Kondas
6739660f8d Merge pull request #19 from pflorek/master
Association rule learning - Apriori algorithm
2016-09-06 23:15:04 +02:00
Patrick Florek
90038befa9 Apply comments / coding styles
* 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
2016-09-02 00:26:01 +02:00
Patrick Florek
c8bd8db601 # Association rule learning - Apriori algorithm
* 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
2016-08-23 15:44:53 +02:00
Arkadiusz Kondas
6421a2ba41 Develop to master (#18)
* Fix Backpropagation test with explicit random generator seed

* remove custom seed - not working :(

* Updated links in readme
2016-08-21 14:03:20 +02:00
Arkadiusz Kondas
41ac2e33ae Merge pull request #16 from php-ai/develop
Simple Neural Network with MultilayerPerceptron and Backpropagation
2016-08-14 19:17:12 +02:00
Arkadiusz Kondas
3599367ce8 Add docs for neural network 2016-08-14 19:14:56 +02:00