PHP não é a melhor linguagem para se trabalhar com muito processamento e nem com muitos dados numéricos em suas atuais versões. (biblioteca BCMath que o diga)
Da mesma forma que um dia já foi péssima para programação orientada a objeto e há anos já mudou completamente este cenário.
Então por esta coerência evolutiva de décadas da linguagem em evoluir mantendo alta retro-compatibilidade (que para mudanças de quebra de código costumam demoram-se muitos anos e versões para serem quebradas, assim como avisos de deprecations são mantidos por longos períodos permitindo a evolução do códigos existentes), criamos este artigo para compartilhar os primeiros grandes avanços em nível de biblioteca de um grupo de programadores sobre Machine Learning usando PHP, o projeto PHP-ML.
O projeto contém vários algoritmos de machine learning que podem ser utilizados para treinar, analisar e interpretar dados.
Algumas das atuais funcionalidades do PHP-ML são:
- Association rule learning
- Apriori
- Classification
- SVC
- k-Nearest Neighbors
- Naive Bayes
- Decision Tree (CART)
- Ensemble Algorithms
- Bagging (Bootstrap Aggregating)
- Random Forest
- AdaBoost
- Linear
- Adaline
- Decision Stump
- Perceptron
- LogisticRegression
- Regression
- Least Squares
- SVR
- Clustering
- k-Means
- DBSCAN
- Fuzzy C-Means
- Metric
- Accuracy
- Confusion Matrix
- Classification Report
- Workflow
- Pipeline
- Neural Network
- Multilayer Perceptron Classifier
- Cross Validation
- Random Split
- Stratified Random Split
- Preprocessing
- Normalization
- Imputation missing values
- Feature Extraction
- Token Count Vectorizer
- Tf-idf Transformer
- Dimensionality Reduction
- PCA (Principal Component Analysis)
- Kernel PCA
- LDA (Linear Discriminant Analysis)
- Datasets
- Array
- CSV
- Files
- Ready to use:
- Iris
- Wine
- Glass
- Models management
- Persistency
- Math
- Distance
- Matrix
- Set
- Statistic
- Linear Algebra
Para acessar o código do projeto https://github.com/php-ai/php-ml.
Há um repositório separado com vários exemplos em https://github.com/php-ai/php-ml-examples
É sempre bom ver que cada vez há mais grandes programadores interessados em trazer para o PHP projetos cada vez mais complexos e atuais. Este projeto PHP-ML mesmo, vemos um grande exemplo de programadores quealguém pararam e implementaram vários desses algoritmos em PHP. Isto permite aos demais programadores que usam PHP experimentar esses projetos e aprender um pouco mais.