Fresh approach to Machine Learning in PHP. Algorithms, Cross Validation, Neural Network, Preprocessing, Feature Extraction and much more in one library.
PHP-ML requires PHP >= 7.2.
Simple example of classification:
require_once __DIR__ . '/vendor/autoload.php';
use Phpml\Classification\KNearestNeighbors;
$samples = [[1, 3], [1, 4], [2, 4], [3, 1], [4, 1], [4, 2]];
$labels = ['a', 'a', 'a', 'b', 'b', 'b'];
$classifier = new KNearestNeighbors();
$classifier->train($samples, $labels);
echo $classifier->predict([3, 2]);
// return 'b'
To find out how to use PHP-ML follow Documentation.
Currently this library is in the process of being developed, but You can install it with Composer:
composer require php-ai/php-ml
Example scripts are available in a separate repository php-ai/php-ml-examples.
Public datasets are available in a separate repository php-ai/php-ml-datasets.
- Association rule learning
- 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
- DecisionTreeRegressor
- Clustering
- Metric
- Accuracy
- Confusion Matrix
- Classification Report
- Regression
- Workflow
- Pipeline
- FeatureUnion
- Neural Network
- Cross Validation
- Feature Selection
- Preprocessing
- Normalization
- Imputation missing values
- LabelEncoder
- LambdaTransformer
- NumberConverter
- ColumnFilter
- OneHotEncoder
- Feature Extraction
- Token Count Vectorizer
- NGramTokenizer
- WhitespaceTokenizer
- WordTokenizer
- Tf-idf Transformer
- Token Count Vectorizer
- Dimensionality Reduction
- PCA (Principal Component Analysis)
- Kernel PCA
- LDA (Linear Discriminant Analysis)
- Datasets
- Models management
- Math
- Guide: CONTRIBUTING.md
- Issue Tracker: github.com/php-ai/php-ml
- Source Code: github.com/php-ai/php-ml
You can find more about contributing in CONTRIBUTING.md.
PHP-ML is released under the MIT Licence. See the bundled LICENSE file for details.
Arkadiusz Kondas (@ArkadiuszKondas)