Commit Graph

44 Commits

Author SHA1 Message Date
Tomáš Votruba
a348111e97 Add PHPStan and level to max (#168)
* tests: update to PHPUnit 6.0 with rector

* fix namespaces on tests

* composer + tests: use standard test namespace naming

* update travis

* resolve conflict

* phpstan lvl 2

* phpstan lvl 3

* phpstan lvl 4

* phpstan lvl 5

* phpstan lvl 6

* phpstan lvl 7

* level max

* resolve conflict

* [cs] clean empty docs

* composer: bump to PHPUnit 6.4

* cleanup

* composer + travis: add phpstan

* phpstan lvl 1

* composer: update dev deps

* phpstan fixes

* update Contributing with new tools

* docs: link fixes, PHP version update

* composer: drop php-cs-fixer, cs already handled by ecs

* ecs: add old set rules

* [cs] apply rest of rules
2018-01-06 13:09:33 +01:00
Tomáš Votruba
726cf4cddf Added EasyCodingStandard + lots of code fixes (#156)
* travis: move coveralls here, decouple from package

* composer: use PSR4

* phpunit: simpler config

* travis: add ecs run

* composer: add ecs dev

* use standard vendor/bin directory for dependency bins, confuses with local bins and require gitignore handling

* ecs: add PSR2

* [cs] PSR2 spacing fixes

* [cs] PSR2 class name fix

* [cs] PHP7 fixes - return semicolon spaces, old rand functions, typehints

* [cs] fix less strict typehints

* fix typehints to make tests pass

* ecs: ignore typehint-less elements

* [cs] standardize arrays

* [cs] standardize docblock, remove unused comments

* [cs] use self where possible

* [cs] sort class elements, from public to private

* [cs] do not use yoda (found less yoda-cases, than non-yoda)

* space

* [cs] do not assign in condition

* [cs] use namespace imports if possible

* [cs] use ::class over strings

* [cs] fix defaults for arrays properties, properties and constants single spacing

* cleanup ecs comments

* [cs] use item per line in multi-items array

* missing line

* misc

* rebase
2017-11-22 22:16:10 +01:00
Qingshan Luo
ff80af2044 code style Update Phpml\Math\Distance\Manhattan::distance() method. (#154)
I think this will be better.
2017-11-16 21:45:35 +01:00
Tomáš Votruba
653c7c772d Upgrade to PHP 7.1 (#150)
* upgrade to PHP 7.1

* bump travis and composer to PHP 7.1

* fix tests
2017-11-14 21:21:23 +01:00
Tomáš Votruba
d85bfed468 [cs] remove more unused comments (#146)
* [cs] remove more unused comments

* [cs] remove unused array phpdocs

* [cs] remove empty lines in docs

* [cs] space-proof useless docs

* [cs] remove empty @param lines

* [cs] remove references arrays
2017-11-13 11:42:40 +01:00
Tomáš Votruba
f4650c696c [coding standard] fix imports order and drop unused docs typehints (#145)
* fix imports order

* drop unused docs typehints, make use of return types where possible
2017-11-06 08:56:37 +01:00
Marcin Michalski
11d05ce89d Comparison - replace eval (#130)
* Replace eval with strategy

* Use Factory Pattern, add tests

* Add missing dockblocks

* Replace strategy with simple object
2017-10-24 18:59:12 +02:00
Marcin Michalski
3ac658c397 php-cs-fixer - more rules (#118)
* Add new cs-fixer rules and run them

* Do not align double arrows/equals
2017-08-17 08:50:37 +02:00
Ante Lucic
07041ec608 Run newest php-cs-fixer (#108) 2017-07-26 08:24:47 +02:00
Marcin Michalski
7ab80b6e56 Code Style (#86)
* Code Style

* Code Review fixes
2017-05-17 09:03:25 +02:00
Mustafa Karabulut
5b373fa7c2 Linear Discrimant Analysis (LDA) (#82)
* Linear Discrimant Analysis (LDA)

* LDA test file

* Matrix inverse via LUDecomposition

* LUDecomposition inverse() and det() applied

* Readme update for LDA
2017-04-25 08:58:02 +02:00
Mustafa Karabulut
a87859dd97 Linear algebra operations, Dimensionality reduction and some other minor changes (#81)
* 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
2017-04-23 09:03:30 +02:00
Mustafa Karabulut
01bb82a2a7 One-v-Rest Classification technique applied to linear classifiers (#54)
* One-v-Rest Classification technique applied to linear classifiers

* Fix for Apriori

* Fixes for One-v-Rest

* One-v-Rest test cases
2017-03-05 09:43:19 +01:00
Povilas Susinskas
f0a7984f39 Check if matrix is singular doing inverse (#49)
* Check if matrix is singular doing inverse

* add return bool type
2017-02-15 10:09:16 +01:00
Mustafa Karabulut
0a58a71d77 Euclidean optimization (#42)
* Euclidean optimization

* Euclidean with foreach
2017-02-09 10:30:38 +01:00
Arkadiusz Kondas
c3686358b3 Add rules for new cs-fixer 2017-01-31 20:33:08 +01:00
Arkadiusz Kondas
a4f65bd13f Short syntax for applied operations 2016-12-12 18:34:20 +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
a61704501d Fix type compatibility for Minkowski distance 2016-12-06 08:48:45 +01:00
Arkadiusz Kondas
cbdc049526 Update php-cs-fixer 2016-11-20 22:53:17 +01:00
Arkadiusz Kondas
1ce6bb544b Run php-cs-fixer 2016-09-21 21:51:19 +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
f186aa9c0b extract functions from loops and remove unused code 2016-08-02 13:23:58 +02:00
Pablo Joán Iglesias
bbbf5cfc9d For each body should be wrapped in an if statement (#14)
unit test to go with commit
2016-07-26 08:14:57 +02:00
Arkadiusz Kondas
65cdfe64b2 implement Median and MostFrequent strategy for imputer 2016-05-08 19:33:39 +02:00
Arkadiusz Kondas
a761d0e8f2 mode (dominant) from numbers 2016-05-08 19:23:54 +02:00
Arkadiusz Kondas
ed1e07e803 median function in statistic 2016-05-08 19:12:39 +02:00
Arkadiusz Kondas
5c67cfaeef refactor kmeans init methods 2016-05-02 23:36:58 +02:00
Arkadiusz Kondas
56114d99ce fix param casting for hhvm compatibility 2016-05-02 23:06:17 +02:00
Arkadiusz Kondas
650e7dd20d simply getDeterminant method 2016-04-30 23:54:05 +02:00
Arkadiusz Kondas
2952557028 improve matrix inverse 2016-04-30 23:47:35 +02:00
Arkadiusz Kondas
ff79de7e14 better arguments format for regression 2016-04-30 13:54:01 +02:00
Arkadiusz Kondas
633974fea0 php-cs-fxier 2016-04-30 00:59:10 +02:00
Arkadiusz Kondas
60c796f5d9 create matrix calculation for ls regression for multiple variable 2016-04-30 00:58:54 +02:00
Arkadiusz Kondas
52cbda0482 replace mean calls 2016-04-27 23:57:05 +02:00
Arkadiusz Kondas
80a712e8a8 implement Least Squares Regression 2016-04-27 23:51:14 +02:00
Arkadiusz Kondas
cbec77d247 pearson correlation function 2016-04-27 23:28:01 +02:00
Arkadiusz Kondas
66dcfcf2b7 implement standard deviation of population function 2016-04-27 23:04:59 +02:00
Arkadiusz Kondas
af3b57692f linear regression is also hard 2016-04-25 22:55:34 +02:00
Arkadiusz Kondas
37782eba98 implement RBF kernel function 2016-04-21 22:54:38 +02:00
Arkadiusz Kondas
b30f4cbf11 make scalar function static 2016-04-21 22:12:45 +02:00
Arkadiusz Kondas
34281e40ee add scalar product function 2016-04-21 00:23:03 +02:00
Arkadiusz Kondas
9330785a6f extract Math namespace 2016-04-20 23:56:33 +02:00