torian257x / ai-php-rubix-wrap-laravel
Meant for AI using a wrapped Rubix ML library to make it very approachable
Package info
github.com/torian257x/ai-php-rubix-wrap-laravel
pkg:composer/torian257x/ai-php-rubix-wrap-laravel
Requires
- calebporzio/sushi: ^2.2
- illuminate/support: ~7|~8
- torian257x/ai-php-rubix-wrap: ^0.9
Requires (Dev)
- orchestra/testbench: ~5|~6
- phpunit/phpunit: ~9.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
This package is about Artificial Intelligence, Machine Learning and Pattern Recognition in Laravel.
The video tutorial with examples on how to use the library can be found here:
Video tutorial
how to use AI in Laravel (full playlist)
Example code
Do AI with 2 lines of code:
$all_animals = DogsAndCats::all();
$report = RubixAi::train($all_animals, 'dog_or_cat');
that's it.
This creates a file in your laravel storage/ai_rubix/ folder that contains the model.
This model then will be used to predict:
$isDogOrCat = RubixAi::predict($needs_prediction);
echo $isDogOrCat; //prints ['dog']
Installation
composer require torian257x/ai-php-rubix-wrap-laravel
If there are any issues, please have a look at https://docs.rubixml.com/latest/installation.html in case you are trying to do something special. I recommend as well installing tensor https://github.com/Scien-ide/Tensor .
Default Estimator
new KDNeighborsRegressor() for regression (say estimation of price)
new KDNeighbors() for classification (say choose dog or cat)
Default Transformers
array_filter(
[
new NumericStringConverter(),
new MissingDataImputer(),
$needs_ohe ? new OneHotEncoder() : false,
new MinMaxNormalizer(),
]);
Customize
You can choose your own estimator if you don't like the default
Just be sure to pass it as argument to RubixAi::train(..., estimator_algorithm:<>)
Same for transformers.
You can customize the model file name as well as what attributes / columns to ignore.
References
This library is using a PHP standalone AI wrapper of Rubix ML