Maschinelles Lernen mit PHP: Überblick über Bibliotheken zur Implementierung von ML-Algorithmen
Obwohl Python traditionell als die Hauptsprache für maschinelles Lernen gilt, verfügt auch PHP über mehrere leistungsstarke Bibliotheken, die es ermöglichen, ML-Modelle direkt in Webanwendungen zu integrieren. In diesem Artikel betrachten wir die wichtigsten Werkzeuge für maschinelles Lernen in PHP, ihre Funktionen und Anwendungsbeispiele.
Warum PHP für maschinelles Lernen?
PHP bleibt eine der beliebtesten Sprachen für die Webentwicklung. Die Verwendung von ML-Bibliotheken in PHP ermöglicht:
- Die direkte Integration von Modellen in bestehende Laravel/Symfony-Projekte
- Den Verzicht auf Sprachwechsel innerhalb eines Projekts
- Die Nutzung des vertrauten Composer-Ökosystems und der Autoloading-Funktionalität
- Schnelles Erstellen von Prototypen auf günstigem Hosting
1. PHP-ML — Der Standard für maschinelles Lernen in PHP
PHP-ML (Machine Learning library for PHP) ist die beliebteste Bibliothek für ML in PHP. Sie bietet eine breite Palette von Algorithmen ohne externe Abhängigkeiten.
Installation
composer require php-ai/php-mlBeispiel: Textklassifikation
<?phprequire_once __DIR__ . '/vendor/autoload.php';
use Phpml\\Classification\\KNearestNeighbors;use Phpml\\FeatureExtraction\\TfIdfTransformer;use Phpml\\Tokenization\\WhitespaceTokenizer;use Phpml\\FeatureExtraction\\TokenCountVectorizer;
// Trainingsdaten$samples = [ 'ausgezeichnetes Produkt schnelle Lieferung', 'schreckliche Qualität defekt', 'empfehle es allen Freunden', 'funktioniert nicht nach einem Tag kaputt'];$labels = ['positive', 'negative', 'positive', 'negative'];
// Text in Vektoren umwandeln$vectorizer = new TokenCountVectorizer(new WhitespaceTokenizer());$vectorizer->fit($samples);$vectorizer->transform($samples);
$transformer = new TfIdfTransformer();$transformer->fit($samples);$transformer->transform($samples);
// Modell trainieren$classifier = new KNearestNeighbors();$classifier->train($samples, $labels);
// Vorhersage$testSample = ['hervorragendes Produkt Qualität'];$vectorizer->transform($testSample);$transformer->transform($testSample);
$predicted = $classifier->predict($testSample[0]);echo "Stimmung: $predicted"; // positive?>Funktionen von PHP-ML
- Klassifikation: KNearestNeighbors, NaiveBayes, SVC, DecisionTree
- Regression: LeastSquares, Ridge, LogisticRegression
- Clusteranalyse: KMeans, DBSCAN, FuzzyCMeans
- Textverarbeitung: TF-IDF, Stemming, Tokenisierung
- Metriken: accuracy, precision, recall, confusion matrix
2. Rubix ML — Modernes Framework für maschinelles Lernen
Rubix ML ist eine neuere und leistungsfähigere Bibliothek mit Unterstützung für neuronale Netze, GPU-Beschleunigung und Datenverarbeitungspipelines.
Installation
composer require rubix/mlBeispiel: Neuronales Netz zur Klassifikation
<?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;
// Datensatz erstellen$samples = [[2.5, 1.2], [1.0, 0.8], [3.5, 4.2], [2.0, 0.5]];$labels = ['cat', 'dog', 'cat', 'dog'];$dataset = new Labeled($samples, $labels);
// MLP (mehrschichtiges Perzeptron) erstellen$mlp = new MultilayerPerceptron([ new Dense(10), new Activation(new ReLU()), new Dense(5), new Activa Auch in der Bibliothek
Maschinelles Lernen mit C# (.NET): Überblick über die Bibliotheken ML.NET, Accord.NET, TensorFlow.NET
Kryptographie in Swift: Verschlüsselung und Hashing für iOS/macOS
OAuth-Client für Java: Überblick über Bibliotheken und Codebeispiele
Geolokalisierung und Karten in C# (.NET): Überblick über Bibliotheken und Werkzeuge