Aprendizado de Máquina em PHP: uma visão geral das bibliotecas para ML

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

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-ml


Exemplo: 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/ml


Exemplo: 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

Recommendations