Skip to content
Closed
Show file tree
Hide file tree
Changes from 74 commits
Commits
Show all changes
155 commits
Select commit Hold shift + click to select a range
c80d278
ML-396 Converted MLPRegressor to work with NumPower/NDArray related c…
Feb 14, 2026
13acae6
ML-396 removed unneeded export function
Feb 14, 2026
3b65a47
ML-396 added test for NumPower
Feb 14, 2026
d7404f8
ML-396 added USE_NUMPOWER_TRANSPOSE option to Network
Feb 14, 2026
d538799
ML-396 added USE_NUMPOWER_TRANSPOSE option to Network
Feb 14, 2026
f333c67
ML-396 fixed issue with samples normalization
Feb 14, 2026
1583ee3
ML-396 removed unneeded packages from composer
Feb 14, 2026
57037c6
ML-396 removed unneeded packages from composer
Feb 14, 2026
22df3e0
Merge branch '3.0' into 396-convert-mlp-classifier-to-NumPower
Mar 3, 2026
b79ddb6
Merge branch '3.0' into 396-convert-mlp-classifier-to-NumPower
Mar 10, 2026
cab6925
Merge branch '3.0' into 396-convert-mlp-classifier-to-NumPower
Mar 28, 2026
b920665
ML-396 style fixes
Mar 28, 2026
b99d65b
ML-396 migrated MLPRegressor
Mar 28, 2026
e04867b
ML-396 migrated MLPRegressor
Mar 28, 2026
36a282e
ML-396 migrated MLPRegressor
Mar 28, 2026
9bc5107
ML-396 migrated MLPRegressor
Mar 28, 2026
2a69709
ML-396 migrated MLPRegressor
Mar 28, 2026
76093fd
ML-396 migrated Adaline
Mar 28, 2026
0d35e60
ML-396 migrated Adaline
Mar 28, 2026
289b822
ML-396 migrated Adaline
Mar 28, 2026
4e19926
ML-396 migrated ExtraTreeRegressor with Hyperplane
Mar 29, 2026
f18ceaa
ML-396 migrated RegressionTree
Mar 29, 2026
f22c58c
ML-396 migrated GradientBoost
Mar 29, 2026
8a24b57
ML-396 migrated Ridge
Mar 29, 2026
5052675
ML-396 migrated Ridge
Mar 29, 2026
4c31a38
ML-396 migrated Ridge
Mar 29, 2026
b6f3665
ML-396 Added tests for Ridge
Mar 30, 2026
41b144c
ML-396 Added AdalineTest
Mar 30, 2026
7017b0f
ML-396 fixes for STAN
Mar 30, 2026
60a1100
ML-396 fixes for STAN
Mar 30, 2026
cfbd391
ML-396 fixes for Ridge and tests
Apr 4, 2026
f730d69
ML-396 fix for ErrorAnalysisTest
Apr 4, 2026
a700418
ML-396 fix for ErrorAnalysisTest
Apr 4, 2026
320871f
ML-396 fix for tests
Apr 4, 2026
5412c79
ML-396 fix for tests
Apr 4, 2026
d1e9a6d
ML-396 fix for tests
Apr 4, 2026
6016eef
ML-396 fix for tests
Apr 4, 2026
2e627c0
ML-396 fix for tests
Apr 4, 2026
8cb3a16
ML-396 fix for tests
Apr 4, 2026
83d0a63
ML-396 fix for tests
Apr 4, 2026
252003c
ML-396 fix for tests
Apr 4, 2026
95516c4
ML-396 fix for tests
Apr 4, 2026
a932a92
ML-396 fix for tests
Apr 5, 2026
17e6bce
ML-396 fix for tests
Apr 5, 2026
aa1553b
ML-396 additional tests for ExtraTreeRegressorTest
Apr 5, 2026
2b0cbb3
ML-396 additional tests for ExtraTreeRegressorTest
Apr 5, 2026
5c79fa1
ML-396 fix for tests
Apr 5, 2026
6b1af3d
ML-396 fix for tests
Apr 5, 2026
d558360
ML-396 fix for tests
Apr 5, 2026
0de66d5
ML-396 additional tests for GradientBoostTest
Apr 5, 2026
12aee96
ML-396 additional tests for GradientBoostTest
Apr 5, 2026
d79f7a8
ML-396 additional tests for GradientBoostTest
Apr 5, 2026
293837c
ML-396 fix for tests
Apr 5, 2026
5372b35
ML-396 additional tests for MLPRegressorTest
Apr 5, 2026
61f8204
ML-396 additional tests for RegressionTreeTest
Apr 5, 2026
43a6c97
ML-396 fix for tests
Apr 5, 2026
e396c04
ML-396 RadiusNeighborsRegressor migrated to NumPower
Apr 5, 2026
c7e6448
ML-396 fix for tests
Apr 5, 2026
e8197a9
ML-396 fix for tests
Apr 5, 2026
3d92727
ML-396 fix for tests
Apr 5, 2026
080006a
ML-396 fix for tests
Apr 5, 2026
adb2d51
ML-396 fix for tests
Apr 5, 2026
67673cc
ML-396 fix for tests
Apr 5, 2026
02ca4eb
ML-396 fix for tests
Apr 5, 2026
84bc347
ML-396 KNNRegressor migrated to NumPower
Apr 5, 2026
72f08e7
ML-396 KDNeighborsRegressor migrated to NumPower
Apr 12, 2026
bd0c461
ML-396 KDNeighborsRegressor migrated to NumPower
Apr 12, 2026
0a395a4
ML-396 added DataProviderExternal to RidgeTest
Apr 12, 2026
7e64e6f
ML-396 removed unused imports
Apr 12, 2026
42664e1
ML-396 SVR migrated to dedicated namespace and updated dependencies
Apr 12, 2026
2cc5ff4
ML-396 minor code style fixes
Apr 12, 2026
269d17f
ML-396 added determinant test with DataProvider to NumPowerTest
Apr 12, 2026
eaede75
ML-396 updated @var annotation for params in SVR class
Apr 12, 2026
aac88da
ML-396 removed unneeded debug
Apr 12, 2026
a49cc3e
ML-396 removed unneeded debug
Apr 12, 2026
e179684
ML-396 added validation for empty ensemble, cleaned dependencies, upd…
Apr 12, 2026
9daa783
ML-396 fixed regex pattern in PHPStan baseline to escape '#' properly
Apr 12, 2026
75636f8
ML-396 updated changelog with array_pack function and NDArray migrati…
Apr 12, 2026
b1289eb
ML-396 added tests for array_pack function, extended its functionalit…
Apr 19, 2026
f675d0f
ML-396 updated PHPStan baseline and refined annotations for array_pac…
Apr 19, 2026
6193dae
ML-396 restored test cases for array_pack and adjusted return type de…
Apr 19, 2026
8036cbd
ML-396 added ELU benchmark tests and enforced strict type annotations…
Apr 19, 2026
4d041f3
ML-396 added GELUBench benchmark tests
Apr 26, 2026
d69c40a
ML-396 changed computed with activate in GELUBench
Apr 26, 2026
46ba110
ML-396 added LeakyReLUBench benchmark tests
Apr 26, 2026
8606a44
ML-396 added AdalineBench benchmark tests
Apr 26, 2026
e5d3a13
ML-396 added ExtraTreeRegressorBench benchmark tests
Apr 26, 2026
e4717dc
ML-396 added ReLUBench benchmark tests
May 3, 2026
cd94934
ML-396 added SELUBench benchmark tests
May 3, 2026
a0abae9
ML-396 added SigmoidBench benchmark tests
May 3, 2026
85cf6e8
ML-396 added SiLUBench benchmark tests
May 3, 2026
5372410
ML-396 added SoftPlusBench benchmark tests
May 3, 2026
b4b57f1
ML-396 improved Softmax::differentiate
May 3, 2026
fe9a0ee
ML-396 added SoftmaxBench benchmark tests
May 3, 2026
ab1336d
ML-396 added GradientBoostBench benchmark tests
May 3, 2026
08f4935
ML-396 converted Blob generator to work with NDArray
May 3, 2026
83d69c6
ML-396 code style fix
May 3, 2026
672ea2e
ML-396 added SoftPlusBench benchmark tests
May 10, 2026
abd0ba7
ML-396 added SoftsignBench benchmark tests
May 10, 2026
4b3379f
ML-396 added ThresholdedReLUBench benchmark tests
May 10, 2026
b002bd4
ML-396 added KDNeighborsRegressorBench benchmark tests
May 10, 2026
f69abf9
ML-396 added KNNRegressorBench benchmark tests
May 10, 2026
9f0e753
ML-396 migrated Agglomerate dataset to NDArray
May 10, 2026
a07b170
ML-396 migrated Agglomerate dataset to NDArray
May 10, 2026
5f588dd
ML-396 added 10000 benchmark tests
May 17, 2026
8a20671
ML-396 added RadiusNeighborsRegressorBench benchmark tests
May 17, 2026
2a9bd5b
ML-396 added RegressionTreeBench benchmark tests
May 17, 2026
d42a559
ML-396 added RidgeBench benchmark tests
May 17, 2026
a620663
ML-396 added SVRBench benchmark tests
May 17, 2026
7dc7916
ML-396 Temporary fix for NumPower::array() 2nd parameter
May 17, 2026
02da7c5
ML-396 Temporary fix for NumPower::array() 2nd parameter
May 17, 2026
dcce7a4
ML-396 Temporary fix for new version of NumPower and minor syntax fix…
May 25, 2026
606589a
ML-396 Fixed tests dataprovider check values
May 25, 2026
e6312a9
ML-396 Fixed Agglomerate $weight prop to original array typt
May 30, 2026
96a9f60
ML-396 Fixed signature of first param in NumPower::uniform and NumPow…
May 30, 2026
fc4615e
ML-396 Fixed signature of first param in NumPower::uniform
May 30, 2026
026e458
ML-396 added exclusion for argument.type warning in KNearestNeighbors…
May 30, 2026
5969c95
ML-396 changed initializer sampling from NumPower::truncatedNormal to…
May 30, 2026
f0d5523
ML-396 changed initializer sampling from NumPower::truncatedNormal to…
May 30, 2026
83017fe
ML-396 added Standard deviation shrink factor to TruncatedNormal
May 30, 2026
f20d657
ML-396 removed Standard deviation shrink factor to TruncatedNormal
May 30, 2026
1c453d4
ML-396 turned back exclusion to array_count_values in KNearestNeighbo…
May 30, 2026
fa270dd
ML-396 refactoring TruncatedNormalTest
May 30, 2026
3bc982b
ML-396 updated RidgeProvider
May 30, 2026
22cbdb1
ML-396 updated RidgeProvider
May 30, 2026
f807756
ML-396 refactored Circle generator to NumPower
May 31, 2026
a1cea51
ML-396 reverted to Matrix usage KDNeighborsRegressor, KNNRegressor an…
Jun 23, 2026
140a2c0
ML-396 replaced old classes with new for AdalineBench
Jun 24, 2026
de02f53
ML-396 replaced old classes with new for ExtraTreeRegressor
Jun 24, 2026
31214ad
ML-396 replaced old classes with new for GradientBoost
Jun 24, 2026
df521a7
ML-396 replaced old classes with new for MLPRegressor
Jun 24, 2026
1067d2f
ML-396 replaced old classes with new for RadiusNeighborsRegressor
Jun 24, 2026
312948f
ML-396 replaced old classes with new for Ridge
Jun 24, 2026
74d9833
ML-396 replaced old classes with new for Ridge
Jun 24, 2026
6e31689
ML-396 replaced old classes with new for SVRBench
Jun 24, 2026
1c5b3d3
ML-396 replaced old classes with new for Agglomerate
Jun 24, 2026
a67a941
ML-396 replaced old classes with new for Agglomerate
Jun 24, 2026
9f6123a
ML-396 replaced old classes with new for Agglomerate
Jun 24, 2026
543fc96
ML-396 replaced old classes with new for Blob
Jun 24, 2026
042d1ea
ML-396 replaced old classes with new for Circle
Jun 24, 2026
1a5940d
ML-396 replaced old classes with new for Hyperplane
Jun 24, 2026
8acf3cd
ML-396 replaced old classes with new for SwissRoll
Jun 24, 2026
a0194e1
ML-396 stabilized SparseRandomProjectorTest and GridSearchTest
Jun 24, 2026
394d4b9
ML-396 stabilized SparseRandomProjectorTest and GridSearchTest
Jun 24, 2026
037d7ae
ML-396 stabilized RadiusNeighborsTest and DBSCANTest
Jun 24, 2026
ce12de9
ML-396 stabilized KMeans and DBSCANTest
Jun 24, 2026
61116c5
ML-396 stabilized VantageTreeTest
Jun 24, 2026
0624dd8
ML-396 stabilized TruncatedNormalTest and BallTreeTest
Jun 24, 2026
128f31f
ML-396 stabilized TruncatedNormalTest and VantageTreeTest
Jun 24, 2026
a1d5330
ML-396 stabilized GaussianMixtureTest and RidgeProvider
Jun 24, 2026
97a3348
ML-396 stabilized GaussianMixtureTest and RidgeProvider
Jun 24, 2026
b58fea1
ML-396 stabilized GaussianMixtureTest and RidgeProvider
Jun 24, 2026
78897fe
Merge branch '3.0' into 396-convert-regressors-to-num-power
Jul 6, 2026
b0347c5
ML-396 fixed class path, missing imports after merge with branch 3.0
Jul 6, 2026
d0804d4
ML-396 fixed class path, missing imports after merge with branch 3.0
Jul 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ jobs:
run: composer analyze-ci

- name: Unit Tests
#run: vendor/bin/phpunit --display-warning --display-deprecations --display-notices --testsuite="Anomaly Detectors,Backends,Base,Classifiers,Clusterers,Cross Validation,Datasets,Extractors,Graph,Helpers,Kernels,Loggers,NeuralNet,Persisters,Regressors,Serializers,Specifications,Strategies,Tokenizers,Transformers"
Comment thread
apphp marked this conversation as resolved.
run: composer test

- name: Check Coding Style
Expand Down
4 changes: 3 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
"andrewdalpino/okbloomer": "^1.0",
"psr/log": "^1.1|^2.0|^3.0",
"rubix/tensor": "^3.0",
"rubixml/numpower": "dev-main",
"symfony/polyfill-mbstring": "^1.0",
"symfony/polyfill-php80": "^1.17",
"symfony/polyfill-php82": "^1.27",
Expand All @@ -52,7 +53,8 @@
"phpstan/phpstan": "^2.0",
"phpstan/phpstan-phpunit": "^2.0",
"phpunit/phpunit": "^12.0",
"swoole/ide-helper": "^5.1"
"swoole/ide-helper": "^5.1",
"apphp/pretty-print": "^0.6.0"
Comment on lines +52 to +53

Copilot AI Apr 12, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

apphp/pretty-print was added as a dev dependency, but the only reference in the PR is an unused import in tests/NeuralNet/NumPower/NumPowerTest.php. If the pretty-printer isn't required for committed tests, please remove the dependency to keep the dev dependency set minimal.

Suggested change
"swoole/ide-helper": "^5.1",
"apphp/pretty-print": "^0.6.0"
"swoole/ide-helper": "^5.1"

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

apphp/pretty-print removed.

},
"suggest": {
"ext-tensor": "For fast Matrix/Vector computing",
Expand Down
4 changes: 2 additions & 2 deletions docs/datasets/generators/hyperplane.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Datasets/Generators/Hyperplane.php">[source]</a></span>
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Datasets/Generators/Hyperplane/Hyperplane.php">[source]</a></span>
Comment thread
apphp marked this conversation as resolved.
Outdated

# Hyperplane
Generates a labeled dataset whose samples form a hyperplane in n-dimensional vector space and whose labels are continuous values drawn from a uniform random distribution between -1 and 1. When the number of coefficients is either 1, 2 or 3, the samples form points, lines, and planes respectively. Due to its linearity, Hyperplane is especially useful for testing linear regression models.
Expand All @@ -16,7 +16,7 @@ Generates a labeled dataset whose samples form a hyperplane in n-dimensional vec

## Example
```php
use Rubix\ML\Datasets\Generators\Hyperplane;
use Rubix\ML\Datasets\Generators\Hyperplane\Hyperplane;

$generator = new Hyperplane([0.1, 3, -5, 0.01], 150.0, 0.25);
```
Expand Down
4 changes: 2 additions & 2 deletions docs/datasets/generators/swiss-roll.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Datasets/Generators/SwissRoll.php">[source]</a></span>
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Datasets/Generators/SwissRoll/SwissRoll.php">[source]</a></span>

# Swiss Roll
Generate a non-linear 3-dimensional dataset resembling a *swiss roll* or spiral. The labels are the seeds to the swiss roll transformation.
Expand All @@ -19,7 +19,7 @@ Generate a non-linear 3-dimensional dataset resembling a *swiss roll* or spiral.

## Example
```php
use Rubix\ML\Datasets\Generators\SwissRoll;
use Rubix\ML\Datasets\Generators\SwissRoll\SwissRoll;

$generator = new SwissRoll(5.5, 1.5, -2.0, 10, 21.0, 0.2);
```
Expand Down
8 changes: 4 additions & 4 deletions docs/regressors/adaline.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Regressors/Adaline.php">[source]</a></span>
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Regressors/Adaline/Adaline.php">[source]</a></span>

# Adaline
*Adaptive Linear Neuron* is a single layer feed-forward neural network with a continuous linear output neuron suitable for regression tasks. Training is equivalent to solving L2 regularized linear regression ([Ridge](ridge.md)) online using Mini Batch Gradient Descent.
Expand All @@ -20,9 +20,9 @@

## Example
```php
use Rubix\ML\Regressors\Adaline;
use Rubix\ML\NeuralNet\Optimizers\Adam;
use Rubix\ML\NeuralNet\CostFunctions\HuberLoss;
use Rubix\ML\Regressors\Adaline\Adaline;
use Rubix\ML\NeuralNet\Optimizers\Adam\Adam;
use Rubix\ML\NeuralNet\CostFunctions\HuberLoss\HuberLoss;

$estimator = new Adaline(256, new Adam(0.001), 1e-4, 500, 1e-6, 5, new HuberLoss(2.5));
```
Expand Down
4 changes: 2 additions & 2 deletions docs/regressors/extra-tree-regressor.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Regressors/ExtraTreeRegressor.php">[source]</a></span>
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Regressors/ExtraTreeRegressor/ExtraTreeRegressor.php">[source]</a></span>

# Extra Tree Regressor
*Extremely Randomized* Regression Trees differ from standard [Regression Trees](regression-tree.md) in that they choose candidate splits at random rather than searching the entire feature column for the best value to split on. Extra Trees are also faster to build and their predictions have higher variance than a regular decision tree regressor.
Expand All @@ -17,7 +17,7 @@

## Example
```php
use Rubix\ML\Regressors\ExtraTreeRegressor;
use Rubix\ML\Regressors\ExtraTreeRegressor\ExtraTreeRegressor;

$estimator = new ExtraTreeRegressor(30, 5, 0.05, null);
```
Expand Down
6 changes: 3 additions & 3 deletions docs/regressors/gradient-boost.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Regressors/GradientBoost.php">[source]</a></span>
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Regressors/GradientBoost/GradientBoost.php">[source]</a></span>

# Gradient Boost
Gradient Boost (GBM) is a stage-wise additive ensemble that uses a Gradient Descent boosting scheme for training boosters (Decision Trees) to correct the error residuals of a base learner.
Expand Down Expand Up @@ -28,8 +28,8 @@ Gradient Boost (GBM) is a stage-wise additive ensemble that uses a Gradient Desc

## Example
```php
use Rubix\ML\Regressors\GradientBoost;
use Rubix\ML\Regressors\RegressionTree;
use Rubix\ML\Regressors\GradientBoost\GradientBoost;
use Rubix\ML\Regressors\RegressionTree\RegressionTree;
use Rubix\ML\CrossValidation\Metrics\SMAPE;

$estimator = new GradientBoost(new RegressionTree(3), 0.1, 0.8, 1000, 1e-4, 3, 10, 0.1, new SMAPE());
Expand Down
4 changes: 2 additions & 2 deletions docs/regressors/kd-neighbors-regressor.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Regressors/KDNeighborsRegressor.php">[source]</a></span>
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Regressors/KDNeighborsRegressor/KDNeighborsRegressor.php">[source]</a></span>

# K-d Neighbors Regressor
A fast implementation of [KNN Regressor](knn-regressor.md) using a spatially-aware binary tree for nearest neighbors search. K-d Neighbors Regressor works by locating the neighborhood of a sample via binary search and then does a brute force search only on the samples close to or within the neighborhood of the unknown sample. The main advantage of K-d Neighbors over brute force KNN is inference speed, however, it cannot be partially trained.
Expand All @@ -16,7 +16,7 @@ A fast implementation of [KNN Regressor](knn-regressor.md) using a spatially-awa

## Example
```php
use Rubix\ML\Regressors\KDNeighborsRegressor;
use Rubix\ML\Regressors\KDNeighborsRegressor\KDNeighborsRegressor;
use Rubix\ML\Graph\Trees\BallTree;

$estimator = new KDNeighborsRegressor(20, true, new BallTree(50));
Expand Down
4 changes: 2 additions & 2 deletions docs/regressors/knn-regressor.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Regressors/KNNRegressor.php">[source]</a></span>
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Regressors/KNNRegressor/KNNRegressor.php">[source]</a></span>

# KNN Regressor
K Nearest Neighbors (KNN) is a brute-force distance-based learner that locates the k nearest training samples from the training set and averages their labels to make a prediction. K Nearest Neighbors (KNN) is considered a *lazy* learner because it performs most of its computation at inference time.
Expand All @@ -19,7 +19,7 @@ K Nearest Neighbors (KNN) is a brute-force distance-based learner that locates t

## Example
```php
use Rubix\ML\Regressors\KNNRegressor;
use Rubix\ML\Regressors\KNNRegressor\KNNRegressor;
use Rubix\ML\Kernels\Distance\SafeEuclidean;

$estimator = new KNNRegressor(5, false, new SafeEuclidean());
Expand Down
14 changes: 7 additions & 7 deletions docs/regressors/mlp-regressor.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Regressors/MLPRegressor.php">[source]</a></span>
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Regressors/MLPRegressor/MLPRegressor.php">[source]</a></span>

# MLP Regressor
A multilayer feed-forward neural network with a continuous output layer suitable for regression problems. The Multilayer Perceptron regressor is able to handle complex non-linear regression problems by forming higher-order representations of the input features using intermediate user-defined hidden layers. The MLP also has network snapshotting and progress monitoring to ensure that the model achieves the highest validation score per a given training time budget.
Expand Down Expand Up @@ -26,12 +26,12 @@ A multilayer feed-forward neural network with a continuous output layer suitable

## Example
```php
use Rubix\ML\Regressors\MLPRegressor;
use Rubix\ML\NeuralNet\CostFunctions\LeastSquares;
use Rubix\ML\NeuralNet\Layers\Dense;
use Rubix\ML\NeuralNet\Layers\Activation;
use Rubix\ML\NeuralNet\ActivationFunctions\ReLU;
use Rubix\ML\NeuralNet\Optimizers\RMSProp;
use Rubix\ML\Regressors\MLPRegressor\MLPRegressor;
use Rubix\ML\NeuralNet\CostFunctions\LeastSquares\LeastSquares;
use Rubix\ML\NeuralNet\Layers\Dense\Dense;
use Rubix\ML\NeuralNet\Layers\Activation\Activation;
use Rubix\ML\NeuralNet\ActivationFunctions\ReLU\ReLU;
use Rubix\ML\NeuralNet\Optimizers\RMSProp\RMSProp;
use Rubix\ML\CrossValidation\Metrics\RSquared;

$estimator = new MLPRegressor([
Expand Down
4 changes: 2 additions & 2 deletions docs/regressors/radius-neighbors-regressor.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Regressors/RadiusNeighborsRegressor.php">[source]</a></span>
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Regressors/RadiusNeighborsRegressor/RadiusNeighborsRegressor.php">[source]</a></span>

# Radius Neighbors Regressor
This is the regressor version of [Radius Neighbors](../classifiers/radius-neighbors.md) implementing a binary spatial tree under the hood for fast radius queries. The prediction is a weighted average of each label from the training set that is within a fixed user-defined radius.
Expand All @@ -18,7 +18,7 @@ This is the regressor version of [Radius Neighbors](../classifiers/radius-neighb

## Example
```php
use Rubix\ML\Regressors\RadiusNeighborsRegressor;
use Rubix\ML\Regressors\RadiusNeighborsRegressor\RadiusNeighborsRegressor;
use Rubix\ML\Graph\Trees\BallTree;
use Rubix\ML\Kernels\Distance\Diagonal;

Expand Down
6 changes: 3 additions & 3 deletions docs/regressors/regression-tree.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Regressors/RegressionTree.php">[source]</a></span>
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Regressors/RegressionTree/RegressionTree.php">[source]</a></span>

# Regression Tree
A decision tree based on the CART (*Classification and Regression Tree*) learning algorithm that performs greedy splitting by minimizing the variance of the labels at each node split. Regression Trees can be used on their own or as the booster in algorithms such as [Gradient Boost](gradient-boost.md).
Expand All @@ -18,7 +18,7 @@ A decision tree based on the CART (*Classification and Regression Tree*) learnin

## Example
```php
use Rubix\ML\Regressors\RegressionTree;
use Rubix\ML\Regressors\RegressionTree\RegressionTree;

$estimator = new RegressionTree(20, 2, 1e-3, 10, null);
```
Expand Down Expand Up @@ -50,4 +50,4 @@ public balance() : ?int

## References:
[^1]: W. Y. Loh. (2011). Classification and Regression Trees.
[^2]: K. Alsabti. et al. (1998). CLOUDS: A Decision Tree Classifier for Large Datasets.
[^2]: K. Alsabti. et al. (1998). CLOUDS: A Decision Tree Classifier for Large Datasets.
4 changes: 2 additions & 2 deletions docs/regressors/ridge.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Regressors/Ridge.php">[source]</a></span>
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Regressors/Ridge/Ridge.php">[source]</a></span>

# Ridge
L2 regularized linear regression solved using a closed-form solution. The addition of regularization, controlled by the *alpha* hyper-parameter, makes Ridge less likely to overfit the training data than ordinary least squares (OLS).
Expand All @@ -14,7 +14,7 @@ L2 regularized linear regression solved using a closed-form solution. The additi

## Example
```php
use Rubix\ML\Regressors\Ridge;
use Rubix\ML\Regressors\Ridge\Ridge;

$estimator = new Ridge(2.0);
```
Expand Down
4 changes: 2 additions & 2 deletions docs/regressors/svr.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Regressors/SVR.php">[source]</a></span>
<span style="float:right;"><a href="https://github.com/RubixML/ML/blob/master/src/Regressors/SVR/SVR.php">[source]</a></span>

# SVR
The Support Vector Machine Regressor (SVR) is a maximum margin algorithm for the purposes of regression. Similarly to the [SVC](../classifiers/svc.md), the model produced by SVR depends only on a subset of the training data, because the cost function for building the model ignores any training data close to the model prediction given by parameter *epsilon*. Thus, the value of epsilon defines a margin of tolerance where no penalty is given to errors.
Expand Down Expand Up @@ -33,7 +33,7 @@ public load(string $path) : void

## Example
```php
use Rubix\ML\Regressors\SVR;
use Rubix\ML\Regressors\SVR\SVR;
use Rubix\ML\Kernels\SVM\RBF;

$estimator = new SVR(1.0, 0.03, new RBF(), true, 1e-3, 256.0);
Expand Down
Loading
Loading