PHP में मशीन लर्निंग: ML एकीकरण के लिए लाइब्रेरीज़ की समीक्षा

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

PHP में मशीन लर्निंग: वास्तविकता या समझौता?

परंपरागत रूप से, मशीन लर्निंग (ML) को Python, R या Julia से जोड़ा जाता है। हालांकि, PHP, वेब डेवलपमेंट की सबसे लोकप्रिय भाषाओं में से एक होने के नाते, ML के लिए भी लाइब्रेरीज़ का एक इकोसिस्टम रखती है। PHP का उपयोग मशीन लर्निंग के लिए एक समझौता है: आप Python की तुलना में प्रदर्शन और तैयार मॉडलों की संख्या में कमी पाते हैं, लेकिन बदले में वेब एप्लिकेशन के साथ सहज एकीकरण, एक समान टेक्नोलॉजी स्टैक और माइक्रोसर्विसेज चलाए बिना सरल ML एल्गोरिदम को जल्दी से लागू करने की क्षमता प्राप्त करते हैं।

इस लेख में, हम PHP में मशीन लर्निंग के लिए प्रमुख लाइब्रेरीज़, उनकी क्षमताओं और उपयोग के उदाहरणों पर चर्चा करेंगे।

1. PHP-ML (PHP Machine Learning)

PHP-ML PHP पर ML के लिए सबसे लोकप्रिय लाइब्रेरी है। इसे किसी बाहरी डिपेंडेंसी की आवश्यकता नहीं है और यह पूरी तरह से PHP में लिखी गई है। यह क्लासिकल एल्गोरिदम को लागू करती है: क्लासिफिकेशन, रिग्रेशन, क्लस्टरिंग, डायमेंशनैलिटी रिडक्शन और मूल्यांकन मेट्रिक्स।

क्षमताएं:

  • क्लासिफिकेशन: Naive Bayes, SVM, k-Nearest Neighbors, Decision Tree
  • रिग्रेशन: Linear Regression, SVR
  • क्लस्टरिंग: k-Means, DBSCAN
  • डेटा प्रीप्रोसेसिंग: नॉर्मलाइज़ेशन, स्टैंडर्डाइज़ेशन
  • मेट्रिक्स: accuracy, precision, recall, F1-score

उदाहरण: फिशर आइरिस का वर्गीकरण

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

use Phpml\Classification\KNearestNeighbors;
use Phpml\Dataset\Demo\IrisDataset;

$dataset = new IrisDataset();
$samples = $dataset->getSamples();
$labels = $dataset->getTargets();

$classifier = new KNearestNeighbors(3);
$classifier->train($samples, $labels);

// नए नमूने के लिए भविष्यवाणी (सीपल की लंबाई, सीपल की चौड़ाई, पंखुड़ी की लंबाई, पंखुड़ी की चौड़ाई)
$newSample = [5.1, 3.5, 1.4, 0.2];
$predicted = $classifier->predict($newSample);

echo "अनुमानित वर्ग: " . $predicted; // 'Iris-setosa'

2. Rubix ML

Rubix ML एक अधिक आधुनिक और शक्तिशाली लाइब्रेरी है। PHP-ML के विपरीत, यह न्यूरल नेटवर्क, ग्रेडिएंट बूस्टिंग, एन्सेम्बल विधियों और जनरेटर (lazy evaluation) के माध्यम से बड़े डेटासेट के साथ काम करने का समर्थन करती है।

विशेषताएं:

  • न्यूरल नेटवर्क (Multilayer Perceptron, कन्वर्ज़न के माध्यम से CNN)
  • एन्सेम्बल: Random Forest, Gradient Boosted Trees
  • डेटा प्रोसेसिंग पाइपलाइन (pipelines)
  • कैटेगोरिकल फीचर्स और One-Hot Encoding का समर्थन
  • PHP-सीरियलाइज़्ड फॉर्मेट में मॉडल निर्यात

उदाहरण: पाइपलाइन के साथ लीनियर रिग्रेशन

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

use Rubix\ML\Datasets\Labeled;
use Rubix\ML\Regressors\Ridge;
use Rubix\ML\Transformers\NumericStringConverter;
use Rubix\ML\Transformers\MinMaxNormalizer;
use Rubix\ML\Pipeline;

// डेटासेट बनाएं
$samples = [[1], [2], [3], [4], [5]];
$labels = [1.5, 2.8, 4.1, 5.9, 7.2];

$dataset = new Labeled($samples, $labels);

// पाइपलाइन बनाएं
$estimator = new Pipeline([
    new NumericStringConverter(),
    new MinMaxNormalizer(),
], new Ridge(1.0));

$estimator->train($dataset);

// भविष्यवाणी
$prediction = $estimator->predict([[6]]);
echo "अनुमानित मान: " . $prediction[0]; // ~8.3

3. Keras PHP (TensorFlow PHP Binding)

PHP में डीप न्यूरल नेटवर्क के साथ काम करने के लिए Keras PHP का उपयोग किया जा सकता है - यह Python लाइब्रेरी Keras/TensorFlow पर एक रैपर है। वास्तव में, यह एक ब्रिज है जो PHP से Python स्क्रिप्ट चलाता है। यह शुद्ध PHP समाधान नहीं है, लेकिन TensorFlow की पूरी शक्ति का उपयोग करने की अनुमति देता है।

उदाहरण: पूर्व-प्रशिक्षित मॉडल लोड करना

use KerasPHP\Keras;

$keras = new Keras();

// .h5 फ़ाइल से मॉडल लोड करें
$model = $keras->load_model('/path/to/model.h5');

// डेटा तैयार करें (ऐरे)
$input = [[0.5, 0.2, 0.1]];

// भविष्यवाणी
$result = $model->predict($input);

print_r($result); // संभावनाओं वाला ऐरे

4. PHP-ML-NeuralNetwor

अनुशंसाएँ