Aprendizado de Máquina em PHP: uma visão geral das bibliotecas para implementar algoritmos de ML
Embora o Python seja tradicionalmente considerado a principal linguagem para aprendizado de máquina, o PHP também possui várias bibliotecas poderosas que permitem incorporar modelos de ML diretamente em aplicações web. Neste artigo, vamos explorar as principais ferramentas para aprendizado de máquina em PHP, seus recursos e exemplos de uso.
Por que PHP para aprendizado de máquina?
O PHP continua sendo uma das linguagens mais populares para desenvolvimento web. Usar bibliotecas de ML em PHP permite:
- Integrar modelos diretamente em projetos Laravel/Symfony existentes
- Evitar a troca de linguagens dentro de um mesmo projeto
- Usar o ecossistema familiar do Composer e o autoloading
- Implementar protótipos rapidamente em hospedagem barata
1. PHP-ML — o padrão de aprendizado de máquina em PHP
PHP-ML (Machine Learning library for PHP) é a biblioteca mais popular para ML em PHP. Ela oferece uma ampla gama de algoritmos sem dependências externas.
Instalação
composer require php-ai/php-mlExemplo: classificação de textos
<?phprequire_once __DIR__ . '/vendor/autoload.php';
use Phpml\\Classification\\KNearestNeighbors;use Phpml\\FeatureExtraction\\TfIdfTransformer;use Phpml\\Tokenization\\WhitespaceTokenizer;use Phpml\\FeatureExtraction\\TokenCountVectorizer;
// Dados de treinamento$samples = [ 'ótimo produto entrega rápida', 'qualidade horrível defeito', 'recomendo a todos os amigos', 'não funciona quebrou em um dia'];$labels = ['positivo', 'negativo', 'positivo', 'negativo'];
// Transformação do texto em vetores$vectorizer = new TokenCountVectorizer(new WhitespaceTokenizer());$vectorizer->fit($samples);$vectorizer->transform($samples);
$transformer = new TfIdfTransformer();$transformer->fit($samples);$transformer->transform($samples);
// Treinamento do modelo$classifier = new KNearestNeighbors();$classifier->train($samples, $labels);
// Predição$testSample = ['produto excelente qualidade'];$vectorizer->transform($testSample);$transformer->transform($testSample);
$predicted = $classifier->predict($testSample[0]);echo "Sentimento: $predicted"; // positivo?>Recursos do PHP-ML
- Classificação: KNearestNeighbors, NaiveBayes, SVC, DecisionTree
- Regressão: LeastSquares, Ridge, LogisticRegression
- Clusterização: KMeans, DBSCAN, FuzzyCMeans
- Processamento de texto: TF-IDF, stemming, tokenização
- Métricas: acurácia, precisão, recall, matriz de confusão
2. Rubix ML — um framework moderno para aprendizado de máquina
Rubix ML é uma biblioteca mais nova e performática com suporte a redes neurais, aceleração por GPU e pipelines de processamento de dados.
Instalação
composer require rubix/mlExemplo: rede neural para classificação
<?phprequire_once __DIR__ . '/vendor/autoload.php';
use Rubix\\ML\\Datasets\\Labeled;use Rubix\\ML\\NeuralNet\\Layers\\Dense;use Rubix\\ML\\NeuralNet\\Layers\\Activation;use Rubix\\ML\\NeuralNet\\ActivationFunctions\\ReLU;use Rubix\\ML\\NeuralNet\\ActivationFunctions\\Softmax;use Rubix\\ML\\NeuralNet\\Optimizers\\Adam;use Rubix\\ML\\Classifiers\\MultilayerPerceptron;use Rubix\\ML\\CrossValidation\\Reports\\MulticlassBreakdown;
// Criando o dataset$samples = [[2.5, 1.2], [1.0, 0.8], [3.5, 4.2], [2.0, 0.5]];$labels = ['gato', 'cachorro', 'gato', 'cachorro'];$dataset = new Labeled($samples, $labels);
// Criando MLP (perceptron multicamadas)$mlp = new MultilayerPerceptron([ new Dense(10), new Activation(new ReLU()), new Dense(5), new Activa Também na biblioteca
Aprendizado de Máquina em PHP: visão geral das bibliotecas para integração de ML
Parsing de HTML em C++: visão geral das bibliotecas e exemplos de código
RestSharp para C# (.NET): guia completo com exemplos
Doctrine DBAL para PHP: guia completo com exemplos práticos
DataStore para Kotlin: guia completo com exemplos práticos