एक जावास्क्रिप्ट डेवलपर के रूप में, मशीन लर्निंग में गोता लगाना उतना कठिन नहीं है जितना यह लग सकता है। हालाँकि Node.js पैकेज के साथ सब कुछ संभालना तकनीकी रूप से संभव है, लेकिन Python ML पारिस्थितिकी तंत्र इतना समृद्ध और अच्छी तरह से स्थापित है कि इसे नज़रअंदाज़ नहीं किया जा सकता। साथ ही, पाइथॉन के साथ काम करना एक शानदार अनुभव है। इसलिए, बैकएंड पर भारी भार उठाने के लिए पायथन का उपयोग करना समझ में आता है। एक बार जब आप अपना मॉडल तैयार कर लेते हैं, तो आप इसे फ्रंट-एंड फ्रेंडली प्रारूप में निर्यात कर सकते हैं और पूर्वानुमान चलाने के लिए क्लाइंट पर लोड कर सकते हैं।
इस पोस्ट में, हम एक कलाकार के ट्विटर फॉलोअर्स की संख्या के आधार पर उसकी लोकप्रियता का अनुमान लगाने के लिए एक मॉडल बनाने जा रहे हैं।
पहला कदम एक डेटासेट प्राप्त करना है। इस प्रोजेक्ट के लिए, हम एक आर्टिस्ट.सीएसवी फ़ाइल का उपयोग करेंगे जो इस तरह दिखती है:
twitter_followers,popularity,handle 111024636,94,justinbieber 107920365,91,rihanna 106599902,89,katyperry 95307659,97,taylorswift13 66325495,87,selenagomez 66325135,71,selenagomez 60943147,83,jtimberlake 54815915,82,britneyspears 53569307,85,shakira
जैसा कि आप देख सकते हैं, यहां दो प्रमुख मूल्य हैं: twitter_followers और लोकप्रियता। यह हमें एक अनुक्रम मॉडल के लिए अच्छी तरह से स्थापित करता है, जहां x ट्विटर_फॉलोअर्स होंगे और y लोकप्रियता होगी।
अनुक्रम मॉडल मॉडल बनाने के लिए सबसे आसान विकल्पों में से एक है। हालाँकि चुनाव अंततः विशिष्ट उपयोग के मामले पर निर्भर करता है, मैं इसे सरल रख रहा हूँ और अभी इस दृष्टिकोण पर कायम हूँ।
जब आप एक मॉडल बना रहे हों, तो कुछ बुनियादी कार्य हैं जिन्हें आपको निपटाना होगा:
निम्नलिखित कोड आपको इन कार्यों का एक अच्छा अवलोकन देता है, हालांकि यह पूरी तस्वीर नहीं है। आप Github पर पूरा कोड देख सकते हैं।
def get_model(x, y): x_normalized = layers.Normalization( axis=None, ) x_normalized.adapt(np.array(x)) model = tensorflow.keras.Sequential([x_normalized, layers.Dense(units=1)]) model.compile( optimizer=tensorflow.keras.optimizers.Adam(learning_rate=0.1), loss="mean_squared_error", ) model.fit( x, y, epochs=2, verbose=0, validation_split=0.2, ) return model def main: train_features, test_features, train_labels, test_labels = split_data(dataset) model = get_model( train_features["twitter_followers"], train_labels, ) test_loss = model.evaluate( test_features["twitter_followers"], test_labels, verbose=2 ) model.export("./saved_model")
जैसा कि आप देख सकते हैं, पायथन कोड बहुत सीधा है। एक मुख्य कार्य है जो डेटा को विभाजित करना, मॉडल प्राप्त करना, उसका मूल्यांकन करना और अंत में उसे सहेजना संभालता है।
संक्षेप में, मॉडल बनाने के लिए ये आवश्यक चरण हैं। लेकिन आइए वास्तविक बनें: एक ऐसा मॉडल बनाना जो वास्तव में काम करता हो, एक कला और विज्ञान दोनों है। यहां मेरा लक्ष्य सिर्फ यह दिखाना है कि पायथन के साथ शुरुआत करना कितना आसान हो सकता है। हालाँकि, अच्छा प्रदर्शन करने वाले मॉडल को बनाने में बहुत कुछ लगता है - जैसे एक ठोस डेटासेट होना, अपने डेटा को साफ करना और सामान्य बनाना, सही मॉडल और सेटिंग्स चुनना, और इसे प्रशिक्षित करने के लिए कंप्यूटिंग शक्ति होना। इन सभी कार्यों के लिए समय और प्रयास के गंभीर निवेश की आवश्यकता होती है!
अब जब हमने अपने मॉडल को प्रशिक्षित और सहेज लिया है, तो इसे फ्रंटएंड में लाने का समय आ गया है। यह चरण वह है जहां हम मॉडल को वेब-अनुकूल प्रारूप में लोड करेंगे, ताकि हम सीधे ब्राउज़र में भविष्यवाणियां चला सकें। चाहे आप TensorFlow.js या किसी अन्य लाइब्रेरी का उपयोग कर रहे हों, मशीन लर्निंग को अपने वेब ऐप में एकीकृत करने से संभावनाओं की दुनिया खुल जाती है। आइए जानें कि यह कैसे करना है!
TensorFlow एक npm पैकेज प्रदान करता है जिसे Tensorflowjs_converter कहा जाता है जो सहेजे गए मॉडल को JSON और बाइनरी में बदलने में मदद करता है।
tensorflowjs_converter --input_format=tf_saved_model model/saved_model out/public
ls -la out/public group1-shard1of1.bin model.json
यह सेटअप आपके वेब एप्लिकेशन के लिए आवश्यक फ़ाइलों तक पहुंच आसान बनाता है।
आप Github पर पूरा कोड देख सकते हैं।
const model = await tensorflow.loadGraphModel("model.json"); const getPopularity = (followers) => { const followers = 1_000; const normalized = followers; const x = tensorflow.tensor(normalized).reshape([-1, 1]); const result = model.predict(x); const values = result.arraySync(); const y = values[0][0].toFixed(2) * 100; const popularity = y; return popularity; };
जैसा कि पहले उल्लेख किया गया है, इस मॉडल का लक्ष्य ट्विटर फॉलोअर्स की संख्या के आधार पर "लोकप्रियता का अनुमान लगाना" है। हालांकि यह एक साधारण उदाहरण की तरह लग सकता है, यह प्रभावी ढंग से दर्शाता है कि बैकएंड पर एक मॉडल कैसे तैयार किया जाए और फ्रंटएंड पर इसका उपभोग कैसे किया जाए।
देखें कि getPopularity इनपुट को कैसे संसाधित करता है, लेकिन मुख्य लाइन मॉडल.प्रीडिक्ट(x) है, जो इनपुट x के आधार पर मान (y) की भविष्यवाणी करने के लिए मॉडल का उपयोग करता है।
डेमो पेज पर जाएं और कुछ ट्विटर हैंडल आज़माएं। यह देखने का एक मजेदार तरीका है कि मॉडल अनुयायियों की संख्या के आधार पर लोकप्रियता की भविष्यवाणी कैसे करता है।
TensorFlow एक अद्भुत लाइब्रेरी है जो बैकएंड और फ्रंटएंड दोनों विकास के लिए उपकरण प्रदान करती है। कोई भी जावास्क्रिप्ट डेवलपर पायथन या इसी तरह की भाषा का उपयोग करके एक मॉडल बनाने में गोता लगा सकता है, फिर भविष्यवाणियों को चलाने के लिए उस मॉडल को आसानी से फ्रंटएंड में आयात कर सकता है।
हालाँकि मशीन लर्निंग एक विशाल क्षेत्र है जिसके लिए बहुत अधिक ज्ञान की आवश्यकता होती है, TensorFlow जैसे उपकरण सॉफ़्टवेयर और मशीन लर्निंग डेवलपर्स के बीच अंतर को पाटने में मदद करते हैं। यह उन लोगों के लिए यात्रा को बहुत आसान बना देता है जो एमएल को अपनी परियोजनाओं में शामिल करना चाहते हैं!
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3