PHP मशीन लर्निंग के लिए: मिथक या वास्तविकता?
\n\nकई डेवलपर्स यह मानने के आदी हैं कि मशीन लर्निंग Python, R या Julia का विशेषाधिकार है। हालांकि, व्यवहार में PHP, अपनी "वेब भाषा" की प्रतिष्ठा के बावजूद, ML कार्यों को हल करने के लिए भी इस्तेमाल किया जा सकता है, खासकर मौजूदा वेब एप्लिकेशन के साथ एकीकरण के संदर्भ में। इस लेख में हम मशीन लर्निंग में PHP की वास्तविक संभावनाओं का विश्लेषण करेंगे, लोकप्रिय लाइब्रेरी का उपयोग करके कोड उदाहरण दिखाएंगे और सीमाओं के बारे में ईमानदारी से बताएंगे।
\n\nPHP पर मशीन लर्निंग के लिए मुख्य लाइब्रेरी
\n\nML के लिए PHP का इकोसिस्टम Python जितना समृद्ध नहीं है, लेकिन कुछ परिपक्व लाइब्रेरी ध्यान देने योग्य हैं।
\n\nPHP-ML (php-ml/php-ml)
\nयह PHP पर मशीन लर्निंग के लिए सबसे लोकप्रिय लाइब्रेरी है। यह क्लासिकल एल्गोरिदम प्रदान करती है: वर्गीकरण, प्रतिगमन, क्लस्टरिंग, एसोसिएशन नियम और यहां तक कि न्यूरल नेटवर्क।
\n\nrequire_once __DIR__ . '/vendor/autoload.php';\n\nuse Phpml\\Classification\\KNearestNeighbors;\nuse Phpml\\Dataset\\ArrayDataset;\nuse Phpml\\Metric\\Accuracy;\n\n// प्रशिक्षण डेटा: [लंबाई, चौड़ाई] -> लेबल (0 - बिल्ली, 1 - कुत्ता)\n$samples = [[1, 2], [2, 3], [3, 4], [5, 6], [6, 7], [7, 8]];\n$labels = [0, 0, 0, 1, 1, 1];\n\n$classifier = new KNearestNeighbors($k = 3);\n$classifier->train($samples, $labels);\n\n// नए नमूने के लिए भविष्यवाणी\n$prediction = $classifier->predict([4, 5]);\necho "अनुमानित लेबल: " . ($prediction == 0 ? "बिल्ली" : "कुत्ता") . PHP_EOL;\n\n// सटीकता का मूल्यांकन\n$testSamples = [[2.5, 3.5], [6.5, 7.5]];\n$testLabels = [0, 1];\n$predictions = $classifier->predict($testSamples);\n$accuracy = Accuracy::score($testLabels, $predictions);\necho "सटीकता: " . ($accuracy * 100) . "%" . PHP_EOL;\n\n\nRubix ML (rubix/ml)
\nअधिक आधुनिक और उन्नत लाइब्रेरी जो डीप लर्निंग, न्यूरल नेटवर्क, एन्सेम्बल विधियों और डेटा पाइपलाइनों का समर्थन करती है। PHP-ML के विपरीत, Rubix ML सक्रिय रूप से विकसित हो रही है और इसमें एंटरप्राइज-स्तरीय दस्तावेज़ीकरण है।
\n\nrequire_once __DIR__ . '/vendor/autoload.php';\n\nuse Rubix\\ML\\Classifiers\\KNearestNeighbors;\nuse Rubix\\ML\\Datasets\\Labeled;\nuse Rubix\\ML\\CrossValidation\\Reports\\AggregateReport;\nuse Rubix\\ML\\CrossValidation\\Reports\\ConfusionMatrix;\nuse Rubix\\ML\\CrossValidation\\Reports\\MulticlassBreakdown;\n\n// डेटासेट बनाएं\n$samples = [\n [1.2, 2.3, 0.8],\n [3.4, 5.6, 1.2],\n [7.8, 9.0, 3.4],\n [2.1, 4.3, 1.5],\n];\n$labels = ['A', 'B', 'A', 'B'];\n\n$dataset = new Labeled($samples, $labels);\n\n// क्लासिफायर को प्रशिक्षित करें\n$estimator = new KNearestNeighbors(3);\n$estimator->train($dataset);\n\n// भविष्यवाणी करें\n$predictions = $estimator->predict([\n [2.0, 3.0, 1.0],\n [6.0, 8.0, 2.5],\n]);\n\necho "भविष्यवाणियां: " . implode(', ', $predictions) . PHP_EOL;\n\n// मूल्यांकन\n$report = new AggregateReport([\n new MulticlassBreakdown(),\n new ConfusionMatrix(),\n]);\n$results = $report->generate($predictions, ['A', 'B']);\nprint_r($results);\n\n\nML के लिए PHP की व्यावहारिक संभावनाएं
\n\nव्यवहार में, PHP निम्नलिखित परिदृश्यों में उपयोगी हो सकता है:
\n\n- \n
- मौजूदा वेब एप्लिकेशन में ML का एकीकरण — यदि आपके पास पहले से Laravel या Symfony पर कोई साइट है, तो आप बैकएंड को फिर से लिखे बिना सरल वर्गीकरण या प्रतिगमन मॉडल जोड़ सकते हैं। \n
- सरल टेक्स्ट प्रोसेसिंग — भावना विश्लेषण, स्पैम फ़िल्टर, समाचार वर्गीकरण। \n
- अनुशंसा प्रणाली — खरीदारी या देखने के डेटा के आधार पर सहयोगात्मक फ़िल्टरिंग। \n
- विसंगतियां और निगरानी — वास्तविक समय में उपयोगकर्ताओं के असामान्य व्यवहार का पता लगाना। \n
PHP-ML पर एक सरल स्पैम फ़िल्टर का उदाहरण:
\n\nuse Phpml\\Classification\\NaiveBayes;\nuse Phpml\\FeatureExtraction\\TfIdfTransformer;\nuse Phpml\\Tokenization\\WhitespaceTokenizer;\nuse Phpml\\FeatureExtraction\\