Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan pembelajaran mesin dalam PHP?

Bagaimana untuk melaksanakan pembelajaran mesin dalam PHP?

WBOY
WBOYasal
2023-05-12 08:18:051140semak imbas

Memandangkan aplikasi pembelajaran mesin meningkat secara beransur-ansur pada masa hadapan, permintaan pembangun untuk pembelajaran mesin juga akan meningkat secara beransur-ansur. Oleh kerana PHP ialah bahasa pengaturcaraan yang digunakan secara meluas, ramai pembangun tertanya-tanya bagaimana untuk melakukan pembelajaran mesin dalam PHP. Artikel ini akan merangkumi asas dan garis panduan untuk melaksanakan pembelajaran mesin dalam PHP.

Pertama, mari kita lihat asas pembelajaran mesin. Pembelajaran mesin merujuk kepada penggunaan algoritma dan data untuk membolehkan komputer mensimulasikan kebolehan pembelajaran manusia. Tugas pembelajaran mesin biasa termasuk pengelasan, pengelompokan dan regresi. Pengelasan ialah tugas mengelaskan objek ke dalam kategori yang berbeza. Pengelompokan ialah proses menemui objek yang serupa. Regresi ialah meramalkan nilai pembolehubah.

Pembelajaran mesin memerlukan banyak kemahiran dan pengetahuan latar belakang, jadi artikel ini mengandaikan bahawa anda sudah mempunyai pengetahuan asas tentang pembelajaran mesin. Sekarang, kita akan memasuki pembelajaran mesin dalam PHP.

PHP tidak mempunyai perpustakaan pembelajaran mesin asli, tetapi anda masih boleh menggunakan beberapa pustaka pembelajaran mesin sumber terbuka, seperti Weka, TensorFlow dan Scikit-learn. Di sini, kami akan membincangkan cara untuk melakukan pembelajaran mesin menggunakan perpustakaan PHP-ML.

PHP-ML ialah perpustakaan pembelajaran mesin PHP sumber terbuka dengan banyak algoritma pembelajaran mesin dan fungsi prapemprosesan data. Untuk menggunakan PHP-ML untuk pembelajaran mesin, anda perlu memasangnya dengan Composer. Sila jalankan arahan berikut untuk memasang:

composer require php-ai/php-ml

Selepas pemasangan, anda boleh merujuk PHP-ML dalam kod PHP anda:

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

Seterusnya, mari lihat cara menggunakan PHP-ML untuk tugasan pengelasan. Katakan kita mempunyai fail CSV yang mengandungi beberapa pembolehubah dan label kategori. Kami ingin menggunakan algoritma pengelasan untuk meramalkan label kelas bagi pembolehubah tertentu. Mula-mula, kita perlu memuatkan data daripada fail CSV:

use PhpmlDatasetCsvDataset;

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

Kami menetapkan pembolehubah $dataset kepada contoh baharu CsvDataset dan lulus laluan ke fail CSV sebagai parameter. Menetapkan $header kepada true menentukan bahawa baris pertama ialah fail header. Anda boleh melihat data yang dimuatkan menggunakan kod berikut:

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

Seterusnya, kami akan menggunakan algoritma KNN untuk melatih model dan mengklasifikasikan data baharu. Dalam PHP-ML, anda boleh menggunakan antara muka Penganggar untuk mengakses banyak algoritma pembelajaran mesin. Sila ambil perhatian bahawa antara muka Penganggar hanya menyediakan kefungsian pembelajaran. Untuk membuat ramalan pada data ujian, anda perlu menggunakan kaedah makePrediction dalam Predictor.

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);

Di sini, pembolehubah $classifier ditetapkan kepada tika KNN. Selepas melatih model, kami akan menggunakan kaedah ramalan untuk mengklasifikasikan sampel baharu. Output mestilah kelas sampel yang diramalkan.

Anda boleh menggunakan banyak algoritma lain dalam Scikit-belajar untuk tugasan pengelasan. Dalam PHP-ML, terdapat banyak fungsi prapemprosesan data lain, seperti normalisasi data dan pengekstrakan ciri.

Tidak seperti tugas pengelasan, tugas regresi melibatkan meramalkan nilai pembolehubah. Dalam PHP-ML, anda boleh menggunakan banyak algoritma regresi seperti regresi linear, regresi KNN dan regresi SVM.

Di sini kami akan memperkenalkan menggunakan regresi linear untuk meramalkan nilai pembolehubah selanjar. Kami akan menggunakan set data Boston Home Prices, yang mengandungi banyak pembolehubah dan satu pembolehubah berterusan.

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);

Di sini kami menetapkan pembolehubah $dataset kepada tika baharu CsvDataset dan bilangan lajur dalam fail CSV (14) sebagai parameter kedua. Menetapkan $header kepada benar membolehkan kami mengenal pasti lajur sebagai integer dan bukannya rentetan. Tetapkan $regression kepada contoh baharu LeastSquares, latih model dan ramalkan label baharu menggunakan kaedah ramalan.

Ringkasnya, PHP-ML ialah perpustakaan pembelajaran mesin PHP yang berkuasa yang boleh membantu anda melaksanakan banyak tugas pembelajaran mesin dalam PHP. Walaupun PHP bukanlah pilihan terbaik untuk pembelajaran mesin, dalam aplikasi web yang lebih kompleks, PHP mungkin diperlukan. Semoga artikel ini membantu anda memahami cara menggunakan pembelajaran mesin dan perpustakaan PHP-ML dalam PHP.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pembelajaran mesin dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn