Heim >Backend-Entwicklung >PHP-Tutorial >Wie implementiert man maschinelles Lernen in PHP?

Wie implementiert man maschinelles Lernen in PHP?

WBOY
WBOYOriginal
2023-05-12 08:18:051255Durchsuche

Da die Anwendungen des maschinellen Lernens in Zukunft allmählich zunehmen, wird auch die Nachfrage der Entwickler nach maschinellem Lernen allmählich zunehmen. Da PHP eine weit verbreitete Programmiersprache ist, fragen sich viele Entwickler, wie sie maschinelles Lernen in PHP durchführen können. In diesem Artikel werden die Grundlagen und Richtlinien für die Implementierung von maschinellem Lernen in PHP behandelt.

Schauen wir uns zunächst die Grundlagen des maschinellen Lernens an. Unter maschinellem Lernen versteht man die Verwendung von Algorithmen und Daten, die es Computern ermöglichen, menschliche Lernfähigkeiten zu simulieren. Zu den gängigen Aufgaben des maschinellen Lernens gehören Klassifizierung, Clustering und Regression. Unter Klassifizierung versteht man die Aufgabe, Objekte in verschiedene Kategorien einzuteilen. Clustering ist der Prozess der Entdeckung ähnlicher Objekte. Bei der Regression wird der Wert einer Variablen vorhergesagt.

Maschinelles Lernen erfordert viele Fähigkeiten und Hintergrundwissen, daher wird in diesem Artikel davon ausgegangen, dass Sie bereits über einige Grundkenntnisse des maschinellen Lernens verfügen. Jetzt beschäftigen wir uns mit maschinellem Lernen in PHP.

PHP verfügt nicht über eine native Bibliothek für maschinelles Lernen, Sie können jedoch dennoch einige Open-Source-Bibliotheken für maschinelles Lernen verwenden, z. B. Weka, TensorFlow und Scikit-learn. Hier besprechen wir Möglichkeiten zum maschinellen Lernen mithilfe der PHP-ML-Bibliothek.

PHP-ML ist eine Open-Source-PHP-Bibliothek für maschinelles Lernen mit vielen Algorithmen für maschinelles Lernen und Datenvorverarbeitungsfunktionen. Um PHP-ML für maschinelles Lernen verwenden zu können, müssen Sie es mit Composer installieren. Bitte führen Sie zur Installation den folgenden Befehl aus:

composer require php-ai/php-ml

Nach der Installation können Sie PHP-ML in Ihrem PHP-Code referenzieren:

require_once __DIR__ . '/vendor/autoload.php';

Als Nächstes sehen wir uns an, wie Sie PHP-ML für Klassifizierungsaufgaben verwenden. Nehmen wir an, wir haben eine CSV-Datei, die einige Variablen und Kategoriebezeichnungen enthält. Wir möchten einen Klassifizierungsalgorithmus verwenden, um die Klassenbezeichnung einer bestimmten Variablen vorherzusagen. Zuerst müssen wir die Daten aus der CSV-Datei laden:

use PhpmlDatasetCsvDataset;

$dataset = new CsvDataset('path/to/dataset.csv', $header = true);

Wir setzen die Variable $dataset auf eine neue Instanz von CsvDataset und übergeben den Pfad zur CSV-Datei als Parameter. Wenn $header auf „true“ gesetzt wird, gibt dies an, dass die erste Zeile eine Header-Datei ist. Sie können die geladenen Daten mit dem folgenden Code anzeigen:

print_r($dataset->getSamples());
print_r($dataset->getTargets());

Als Nächstes verwenden wir den KNN-Algorithmus, um das Modell zu trainieren und neue Daten zu klassifizieren. In PHP-ML können Sie über die Estimator-Schnittstelle auf viele Algorithmen für maschinelles Lernen zugreifen. Bitte beachten Sie, dass die Estimator-Schnittstelle nur Lernfunktionen bietet. Um Vorhersagen zu Testdaten zu treffen, müssen Sie die Methode makePrediction in Predictor verwenden.

use PhpmlClassificationKNearestNeighbors;

$classifier = new KNearestNeighbors($k = 3);
$classifier->train($dataset->getSamples(), $dataset->getTargets());

$newSample = [5.7, 2.9, 4.2, 1.3];
echo $classifier->predict($newSample);

Hier wird die Variable $classifier auf eine Instanz von KNN gesetzt. Nach dem Training des Modells verwenden wir die Vorhersagemethode, um neue Stichproben zu klassifizieren. Die Ausgabe sollte die vorhergesagte Klasse der Stichprobe sein.

Sie können in Scikit-learn viele andere Algorithmen für Klassifizierungsaufgaben verwenden. In PHP-ML gibt es viele andere Datenvorverarbeitungsfunktionen, wie z. B. Datennormalisierung und Merkmalsextraktion.

Im Gegensatz zu Klassifizierungsaufgaben geht es bei Regressionsaufgaben um die Vorhersage des Werts einer Variablen. In PHP-ML können Sie viele Regressionsalgorithmen verwenden, z. B. lineare Regression, KNN-Regression und SVM-Regression.

Hier stellen wir die Verwendung der linearen Regression vor, um den Wert einer kontinuierlichen Variablen vorherzusagen. Wir werden den Datensatz „Boston Home Prices“ verwenden, der viele Variablen und eine kontinuierliche Variable enthält.

use PhpmlDatasetCsvDataset;
use PhpmlRegressionLeastSquares;

$dataset = new CsvDataset(__DIR__.'/../examples/datasets/boston.csv', 14, true);
$regression = new LeastSquares();
$regression->train($dataset->getSamples(), $dataset->getTargets());

$newSample = [0.02731,0.0,7.07,0,0.469,6.421,78.9,4.9671,2,242,17.8,396.9,9.14];
echo $regression->predict($newSample);

Hier setzen wir die Variable $dataset auf eine neue Instanz von CsvDataset und die Anzahl der Spalten in der CSV-Datei (14) als zweites Argument. Wenn wir $header auf „true“ setzen, können wir Spalten als Ganzzahlen statt als Zeichenfolgen identifizieren. Setzen Sie $regression auf eine neue Instanz von LeastSquares, trainieren Sie das Modell und sagen Sie neue Beschriftungen mithilfe der Vorhersagemethode voraus.

Kurz gesagt, PHP-ML ist eine leistungsstarke PHP-Bibliothek für maschinelles Lernen, die Ihnen bei der Implementierung vieler maschineller Lernaufgaben in PHP helfen kann. Obwohl PHP nicht die beste Wahl für maschinelles Lernen ist, kann PHP in komplexeren Webanwendungen erforderlich sein. Hoffentlich hat Ihnen dieser Artikel dabei geholfen, den Einsatz von maschinellem Lernen und der PHP-ML-Bibliothek in PHP zu verstehen.

Das obige ist der detaillierte Inhalt vonWie implementiert man maschinelles Lernen in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn