रीयलटाइम ऑन-डिवाइस इन-ऐप-खरीदारी अनुकूलन कोडेलैब

1 अवलोकन

1cbf855eda62c306.png

रीयलटाइम ऑन-डिवाइस इन-ऐप खरीदारी ऑप्टिमाइज़ेशन कोडलैब में आपका स्वागत है। इस कोडलैब में आप सीखेंगे कि अपने ऐप में एक कस्टम वैयक्तिकरण मॉडल को प्रशिक्षित और तैनात करने के लिए टेन्सरफ्लो लाइट और फायरबेस का उपयोग कैसे करें।

यह ट्यूटोरियल दिखाता है कि वैयक्तिकरण के लिए एक मशीन लर्निंग मॉडल कैसे बनाया जाए, विशेष रूप से वह जो वर्तमान उपयोगकर्ता की स्थिति को देखते हुए इष्टतम इन-ऐप खरीदारी (आईएपी) पेशकश की भविष्यवाणी करता है। यह एक प्रासंगिक दस्यु समस्या का एक उदाहरण है, एक महत्वपूर्ण और व्यापक रूप से लागू होने वाली मशीन लर्निंग समस्या जिसके बारे में आप इस कोडलैब में अधिक जानेंगे

आप क्या सीखेंगे

  • फायरबेस एनालिटिक्स के माध्यम से एनालिटिक्स डेटा एकत्र करें
  • BigQuery का उपयोग करके एनालिटिक्स डेटा को प्रीप्रोसेस करें
  • इन-ऐप खरीदारी (आईएपी) के ऑन-डिवाइस अनुकूलन के लिए एक सरल एमएल मॉडल को प्रशिक्षित करें
  • टीएफलाइट मॉडल को फायरबेस एमएल पर तैनात करें और उन्हें अपने ऐप से एक्सेस करें
  • फायरबेस ए/बी परीक्षण के माध्यम से विभिन्न मॉडलों को मापें और प्रयोग करें
  • आवर्ती ताल पर नवीनतम डेटा का उपयोग करके नए मॉडल को प्रशिक्षित और तैनात करें

आपको किस चीज़ की ज़रूरत पड़ेगी

  • एंड्रॉइड स्टूडियो संस्करण 3.4+
  • एंड्रॉइड 2.3+ और Google Play सेवाओं 9.8 या बाद के संस्करण के साथ एक भौतिक परीक्षण उपकरण, या Google Play सेवाओं 9.8 या बाद के संस्करण के साथ एक एमुलेटर
  • यदि भौतिक परीक्षण उपकरण, कनेक्शन केबल का उपयोग कर रहे हैं
  • नौसिखिया एमएल ज्ञान

आप इस ट्यूटोरियल का उपयोग कैसे करेंगे?

इसे केवल पूरा पढ़ें इसे पढ़ें और अभ्यास पूरा करें

आप एंड्रॉइड ऐप्स बनाने के अपने अनुभव का मूल्यांकन कैसे करेंगे?

नौसिखिए मध्यवर्ती प्रवीण

2. समस्या कथन

मान लीजिए कि आप एक गेम डेवलपर हैं जो प्रत्येक स्तर के अंत में वैयक्तिकृत इन-ऐप खरीदारी (आईएपी) सुझाव दिखाना चाहते हैं। आप हर बार केवल सीमित संख्या में IAP विकल्प दिखा सकते हैं, और आप नहीं जानते कि किसमें सबसे अच्छा रूपांतरण होगा। यह देखते हुए कि प्रत्येक उपयोगकर्ता और प्रत्येक सत्र अलग है, हम उस IAP ऑफ़र को कैसे खोजें जो उच्चतम अपेक्षित इनाम देता है?

3. नमूना कोड प्राप्त करें

कमांड लाइन से GitHub रिपॉजिटरी को क्लोन करें।

git clone https://github.com/googlecodelabs/firebase-iap-optimization.git

इस रेपो में शामिल हैं:

  1. एक Jupyter नोटबुक (.ipynb) जो वैयक्तिकरण मॉडल को प्रशिक्षित करता है और इसे TFLite मॉडल में पैकेज करता है
  2. एक नमूना कोटलिन ऐप जो डिवाइस पर भविष्यवाणियां करने के लिए टीएफलाइट मॉडल का उपयोग करता है

4. ऐप को फायरबेस से चलाएं

इस कोडलैब में, हम अपने काल्पनिक गेम ऐप - फ्लैपी स्पार्की के आईएपी को अनुकूलित करने पर काम करेंगे। खेल एक साइड-स्क्रोलर है जहां खिलाड़ी एक स्पार्की को नियंत्रित करता है, जो दीवारों के स्तंभों से टकराए बिना उनके बीच उड़ने का प्रयास करता है। स्तर की शुरुआत में, उपयोगकर्ता को एक IAP ऑफ़र प्रस्तुत किया जाता है जो उन्हें पावरअप देगा। हम इस कोडलैब में ऐप के केवल IAP अनुकूलन भाग को लागू करेंगे।

आप यहां जो सीखेंगे उसे अपने ऐप पर लागू कर पाएंगे जो फायरबेस प्रोजेक्ट से जुड़ा है। वैकल्पिक रूप से, आप इस कोडलैब के लिए एक नया फायरबेस प्रोजेक्ट बना सकते हैं। यदि आपको फायरबेस के साथ शुरुआत करने में सहायता की आवश्यकता है, तो कृपया इस विषय पर हमारे ट्यूटोरियल देखें ( एंड्रॉइड और आईओएस )।

5. अपने ऐप में एनालिटिक्स इवेंट एकत्र करें

एनालिटिक्स इवेंट उपयोगकर्ता के व्यवहार में अंतर्दृष्टि प्रदान करते हैं, और एमएल मॉडल को प्रशिक्षित करने के लिए उपयोग किए जाते हैं। उदाहरण के लिए, मॉडल यह सीख सकता है कि जो उपयोगकर्ता अधिक समय तक खेलते हैं, उनके अतिरिक्त जीवन पाने के लिए IAP बनाने की संभावना अधिक होती है। इस जानकारी को सीखने के लिए एमएल मॉडल को इनपुट के रूप में एनालिटिक्स इवेंट की आवश्यकता होती है।

कुछ विश्लेषणात्मक ईवेंट जिन्हें हम लॉग करना चाहते हैं उनमें शामिल हैं:

  • यूजर कितनी देर तक गेम खेलता है
  • उपयोगकर्ता किस स्तर तक पहुंचता है
  • उपयोगकर्ता कितने सिक्के खर्च करता है
  • यूजर कौन सा सामान खरीदता है

नमूना डेटा डाउनलोड करें (वैकल्पिक)

निम्नलिखित चरणों में, हम अपने मॉडल में उपयोग करने के लिए एनालिटिक्स इवेंट लॉग करने के लिए फायरबेस एनालिटिक्स का उपयोग करेंगे। यदि आपके पास पहले से ही एनालिटिक्स डेटा है जिसका आप उपयोग करना चाहते हैं, तो इस कोडलैब के "ऑप्टिमाइज़ेशन मॉडल को प्रशिक्षित करें" अनुभाग पर जाएं और आप हमारे नमूना डेटा का अनुसरण कर सकते हैं।

फायरबेस एनालिटिक्स एसडीके के साथ डेटा एकत्र करें

हम इन एनालिटिक्स इवेंट को इकट्ठा करने में मदद के लिए फायरबेस एनालिटिक्स का उपयोग करेंगे। फायरबेस एनालिटिक्स एसडीके स्वचालित रूप से कई घटनाओं और उपयोगकर्ता संपत्तियों को कैप्चर करता है। यह आपको उन घटनाओं को मापने के लिए अपने स्वयं के कस्टम इवेंट को परिभाषित करने की भी अनुमति देता है जो आपके ऐप के लिए अद्वितीय हैं।

फायरबेस एनालिटिक्स एसडीके स्थापित करना

आप Google Analytics दस्तावेज़ के साथ आरंभ करें का पालन करके अपने ऐप में फ़ायरबेस एनालिटिक्स के साथ शुरुआत कर सकते हैं। इस कोडलैब की शुरुआत में क्लोन किए गए firebase-iap-optimization रिपॉजिटरी में पहले से ही फायरबेस एनालिटिक्स एसडीके शामिल है।

कस्टम ईवेंट लॉग करें

फायरबेस एनालिटिक्स एसडीके स्थापित करने के बाद, हम अपने मॉडल को प्रशिक्षित करने के लिए आवश्यक घटनाओं को लॉग करना शुरू कर सकते हैं।

ऐसा करने से पहले, एनालिटिक्स इवेंट में एक यूजर आईडी सेट करना महत्वपूर्ण है, ताकि हम उस उपयोगकर्ता के लिए एनालिटिक्स डेटा को ऐप में उनके मौजूदा डेटा के साथ जोड़ सकें।

MainActivity.kt

firebaseAnalytics.setUserId("player1")

इसके बाद हम प्लेयर इवेंट लॉग कर सकते हैं। आईएपी अनुकूलन के लिए, हम उपयोगकर्ता को प्रस्तुत प्रत्येक आईएपी ऑफ़र को लॉग करना चाहते हैं और क्या उस ऑफ़र पर उपयोगकर्ता द्वारा क्लिक किया गया है। इससे हमें दो एनालिटिक्स इवेंट मिलेंगे - offer_iap और offer_accepted । हम एक अद्वितीय ऑफ़र_आईडी का भी ट्रैक रखेंगे ताकि हम बाद में इन डेटा को संयोजित करने के लिए इसका उपयोग कर सकें और देख सकें कि कोई ऑफ़र स्वीकार किया गया है या नहीं।

MainActivity.kt

predictButton?.setOnClickListener {
  predictionResult = iapOptimizer.predict()

  firebaseAnalytics.logEvent("offer_iap"){
    param("offer_type", predictionResult)
    param("offer_id", sessionId)
  }
}

acceptButton?.setOnClickListener {
  firebaseAnalytics.logEvent("offer_accepted") {
    param("offer_type", predictionResult)
    param("offer_id", sessionId)
  }
}

कस्टम इवेंट लॉग करने के बारे में अधिक जानकारी के लिए, फायरबेस एनालिटिक्स लॉग इवेंट दस्तावेज़ पर जाएँ।

6. BigQuery में प्रीप्रोसेस डेटा

अंतिम चरण में, हमने इस बारे में घटनाएँ एकत्र कीं कि कौन सा IAP ऑफ़र उपयोगकर्ता के लिए प्रस्तुत किया गया है और कौन सा IAP ऑफ़र उपयोगकर्ता द्वारा क्लिक किया गया है। इस चरण में, हम इस ईवेंट डेटा को उपयोगकर्ता डेटा के साथ जोड़ देंगे ताकि हमारा मॉडल पूरी तस्वीर से सीख सके।

ऐसा करने के लिए, हमें एनालिटिक्स इवेंट को BigQuery पर निर्यात करके शुरुआत करनी होगी।

अपने फायरबेस प्रोजेक्ट और उसके ऐप्स को BigQuery से लिंक करने के लिए:

  1. फायरबेस में साइन इन करें।
  2. क्लिक the Settings icon , फिर प्रोजेक्ट सेटिंग्स चुनें।
  3. प्रोजेक्ट सेटिंग्स पृष्ठ पर, एकीकरण टैब पर क्लिक करें।
  4. BigQuery कार्ड पर, लिंक पर क्लिक करें।

(वैकल्पिक) अपने फायरस्टोर संग्रह को BigQuery पर निर्यात करें

इस चरण में, आपके पास मॉडल को प्रशिक्षित करने में सहायता के लिए फायरस्टोर से BigQuery में अतिरिक्त उपयोगकर्ता डेटा निर्यात करने का विकल्प है। यदि आप अभी इस चरण को छोड़ना चाहते हैं, तो इस कोडलैब के "बिगक्वेरी में डेटा तैयार करना" अनुभाग पर जाएं और आप अंतिम चरण में लॉग किए गए फायरबेस एनालिटिक्स इवेंट का अनुसरण कर सकते हैं।

फायरस्टोर वह जगह हो सकती है जहां आपने उपयोगकर्ताओं की साइनअप तिथि, इन-ऐप खरीदारी, गेम में स्तर, संतुलन में सिक्के, या कोई अन्य विशेषताएँ संग्रहीत की हैं जो मॉडल को प्रशिक्षित करने में उपयोगी हो सकती हैं।

अपने फायरस्टोर संग्रह को BigQuery में निर्यात करने के लिए, आप Firestore BigQuery एक्सपोर्ट एक्सटेंशन इंस्टॉल कर सकते हैं। फिर, अपने वैयक्तिकरण मॉडल और इस कोडलैब के बाकी हिस्सों में उपयोग करने के लिए इस डेटा को Google Analytics के डेटा के साथ संयोजित करने के लिए BigQuery में तालिकाओं से जुड़ें

BigQuery में डेटा तैयार किया जा रहा है

अगले कुछ चरणों में, हम अपने मॉडल के प्रशिक्षण के लिए अपने कच्चे एनालिटिक्स डेटा को उपयोग योग्य डेटा में बदलने के लिए BigQuery का उपयोग करेंगे।

हमारे मॉडल को यह जानने के लिए कि उपयोगकर्ता और गेम की स्थिति के आधार पर कौन सा IAP प्रस्तुत करने की पेशकश करता है, हमें निम्नलिखित के बारे में डेटा व्यवस्थित करने की आवश्यकता है:

  • प्रयोगकर्ता
  • खेल की स्थिति
  • प्रस्ताव प्रस्तुत किया गया
  • प्रस्तुत प्रस्ताव पर क्लिक किया गया है या नहीं

हमारे मॉडल को संसाधित करने के लिए इस सभी डेटा को एक तालिका में एक पंक्ति में व्यवस्थित करने की आवश्यकता होगी। सौभाग्य से, BigQuery हमें ऐसा करने में मदद करने के लिए स्थापित किया गया है।

BigQuery आपकी क्वेरी को व्यवस्थित रखने के लिए "दृश्य" बनाने की अनुमति देता है। दृश्य SQL क्वेरी द्वारा परिभाषित एक वर्चुअल तालिका है। जब आप कोई दृश्य बनाते हैं, तो आप उससे उसी तरह क्वेरी करते हैं जैसे आप किसी तालिका से क्वेरी करते हैं। इसका उपयोग करके हम सबसे पहले अपने एनालिटिक्स डेटा को साफ़ कर सकते हैं।

यह देखने के लिए कि क्या प्रत्येक इन-ऐप खरीदारी ऑफ़र पर क्लिक किया गया है, हमें पिछले चरण में लॉग इन किए गए offer_iap और offer_accepted इवेंट में शामिल होना होगा।

all_offers_joined - BigQuery दृश्य

SELECT
  iap_offers.*,
  CASE
    WHEN accepted_offers.accepted IS NULL THEN FALSE ELSE TRUE
  END
  is_clicked,
FROM
  `iap-optimization.ml_sample.accepted_offers` AS accepted_offers
RIGHT JOIN
  `iap-optimization.ml_sample.iap_offers` AS iap_offers
ON
 accepted_offers.offer_id =iap_offers.offer_id;

all_offers_with_user_data - BigQuery दृश्य

SELECT
  offers.is_clicked,
  offers.presented_powerup,
  offers.last_run_end_reason,
  offers.event_timestamp,
  users.*
FROM
  `iap-optimization.ml_sample.all_offers_joined` AS offers
LEFT JOIN
  `iap-optimization.ml_sample.all_users` AS users
ON
  users.user_id = offers.user_id;

Google क्लाउड स्टोरेज में bigQuery डेटासेट निर्यात करें

अंत में, हम बिगक्वेरी डेटासेट को जीसीएस में निर्यात कर सकते हैं ताकि हम इसे अपने मॉडल प्रशिक्षण में उपयोग कर सकें।

888daa7ba4db8e44.png

14d22bf474fae455.png

7. अनुकूलन मॉडल को प्रशिक्षित करें

नमूना डेटा

इस कोडलैब के बाकी हिस्सों के साथ पालन करने के लिए या तो पिछले चरण के अपने डेटा, "बिगक्वेरी में प्रीप्रोसेस डेटा" या यहां दिए गए डाउनलोड करने योग्य नमूना डेटा का उपयोग करें।

समस्या की परिभाषा

इससे पहले कि हम मॉडल का प्रशिक्षण शुरू करें, आइए अपनी प्रासंगिक डाकुओं की समस्या को परिभाषित करने में कुछ समय व्यतीत करें।

प्रासंगिक डाकुओं की व्याख्या की गई

फ़्लैपी स्पार्की में प्रत्येक स्तर की शुरुआत में, उपयोगकर्ता को एक आईएपी ऑफ़र प्रस्तुत किया जाता है जो उन्हें पावरअप देगा। हम हर बार केवल एक IAP विकल्प दिखा सकते हैं, और हम नहीं जानते कि किसमें सबसे अच्छा रूपांतरण होगा। यह देखते हुए कि प्रत्येक उपयोगकर्ता और प्रत्येक सत्र अलग है, हम उस IAP ऑफ़र को कैसे खोजें जो उच्चतम अपेक्षित इनाम देता है?

इस मामले में, यदि उपयोगकर्ता IAP ऑफ़र स्वीकार नहीं करता है तो इनाम 0 कर दें, और यदि वे ऐसा करते हैं तो IAP मान दें। आपके इनाम को अधिकतम करने का प्रयास करने के लिए, हम अपने ऐतिहासिक डेटा का उपयोग एक मॉडल को प्रशिक्षित करने के लिए कर सकते हैं जो उपयोगकर्ता को दी गई प्रत्येक कार्रवाई के लिए अपेक्षित इनाम की भविष्यवाणी करता है, और उच्चतम इनाम के साथ कार्रवाई ढूंढता है।

e7d3264141498bff.jpeg

भविष्यवाणी में हम निम्नलिखित का उपयोग करेंगे:

  • राज्य: उपयोगकर्ता और उनके वर्तमान सत्र के बारे में जानकारी
  • कार्रवाई: IAP ऑफ़र हम दिखाना चुन सकते हैं
  • इनाम: आईएपी ऑफर का मूल्य

शोषण बनाम अन्वेषण

सभी बहु-सशस्त्र डाकुओं की समस्याओं के लिए, एल्गोरिदम को अन्वेषण (कौन सी कार्रवाई इष्टतम परिणाम देती है यह जानने के लिए अधिक डेटा प्राप्त करना) और शोषण (उच्चतम इनाम प्राप्त करने के लिए इष्टतम परिणाम का उपयोग करना) के बीच संतुलन बनाने की आवश्यकता है।

समस्या के हमारे संस्करण में, हम इसे केवल क्लाउड में समय-समय पर मॉडल को प्रशिक्षित करने के लिए सरल बना देंगे और उपयोगकर्ता के डिवाइस पर मॉडल का उपयोग करते समय केवल पूर्वानुमान लगाएंगे (उपयोगकर्ता के डिवाइस पर प्रशिक्षण के विपरीत)। यह सुनिश्चित करने के लिए कि मॉडल का उपयोग करने के बाद हमारे पास पर्याप्त प्रशिक्षण डेटा है, हमें कभी-कभी अपने ऐप उपयोगकर्ताओं को यादृच्छिक परिणाम दिखाने की आवश्यकता होगी (उदाहरण के लिए 30%)। अन्वेषण और दोहन को संतुलित करने की इस रणनीति को एप्सिलॉन-लालची कहा जाता है।

मॉडल का प्रशिक्षण

आरंभ करने के लिए आप कोडलैब के साथ प्रदान की गई प्रशिक्षण स्क्रिप्ट ( training.ipynb ) का उपयोग कर सकते हैं। हमारा लक्ष्य एक ऐसे मॉडल को प्रशिक्षित करना है जो एक राज्य को देखते हुए प्रत्येक कार्रवाई के लिए अपेक्षित पुरस्कारों की भविष्यवाणी करता है, फिर हम उस कार्रवाई को ढूंढते हैं जो हमें उच्चतम अपेक्षित पुरस्कार देती है।

स्थानीय स्तर पर प्रशिक्षण

अपने स्वयं के मॉडल का प्रशिक्षण शुरू करने का सबसे आसान तरीका इस कोडलैब के लिए कोड नमूने में नोटबुक की एक प्रति बनाना है।

इस कोडलैब के लिए आपको GPU की आवश्यकता नहीं है, लेकिन यदि आपको अपने स्वयं के डेटा का पता लगाने और अपने स्वयं के मॉडल को प्रशिक्षित करने के लिए अधिक शक्तिशाली मशीन की आवश्यकता है, तो आप अपने प्रशिक्षण को तेज़ करने के लिए AI प्लेटफ़ॉर्म नोटबुक इंस्टेंस प्राप्त कर सकते हैं।

प्रदान की गई प्रशिक्षण स्क्रिप्ट में, हमने एक पुनरावर्तक बनाया जो BigQuery से हमारे द्वारा निर्यात की गई CSV फ़ाइलों से प्रशिक्षण डेटा उत्पन्न करता है। फिर हमने केरस के साथ अपने मॉडल का प्रशिक्षण शुरू करने के लिए डेटा का उपयोग किया। मॉडल को प्रशिक्षित करने के तरीके का विवरण पायथन नोटबुक की टिप्पणियों में पाया जा सकता है।

मॉडल के प्रदर्शन को मापें

मॉडल को प्रशिक्षित करते समय, हम इसकी तुलना एक यादृच्छिक एजेंट से करेंगे जो यह देखने के लिए यादृच्छिक रूप से IAP ऑफ़र का चयन करता है कि हमारा मॉडल वास्तव में सीख रहा है या नहीं। यह तर्क ValidationCallback के अंतर्गत रहता है .

प्रशिक्षण के अंत में, हम अपने मॉडल का दोबारा परीक्षण करने के लिए test.csv में डेटा का उपयोग करते हैं। मॉडल ने इस डेटा को पहले कभी नहीं देखा है, इसलिए हम आश्वस्त हो सकते हैं कि परिणाम ओवरफिटिंग के कारण नहीं है। इस मामले में, मॉडल यादृच्छिक एजेंट की तुलना में 28% बेहतर प्रदर्शन करता है।

TFLite मॉडल निर्यात करें

अब हमारे पास एक प्रशिक्षित मॉडल उपयोग के लिए तैयार है, सिवाय इसके कि यह वर्तमान में TensorFlow प्रारूप में है। हमें मॉडल को TFLite प्रारूप के रूप में निर्यात करने की आवश्यकता होगी ताकि इसे मोबाइल उपकरणों पर चलाया जा सके।

ट्रेन.ipynb

converter = tflite.TFLiteConverter.from_keras_model(model)
tflite_model = converter.convert()

with tf.io.gfile.GFile('iap-optimizer.tflite', 'wb') as f:
  f.write(tflite_model)

यहां से, आप मॉडल डाउनलोड कर सकते हैं और मॉडल को अपने ऐप के साथ बंडल कर सकते हैं।

वैकल्पिक रूप से, एक प्रोडक्शन ऐप के लिए, हम अनुशंसा करते हैं कि आप मॉडल को फायरबेस एमएल पर तैनात करें और फायरबेस आपके मॉडल को होस्ट करे। यह दो मुख्य कारणों से उपयोगी है:

  1. हम ऐप इंस्टॉल का आकार छोटा रख सकते हैं और जरूरत पड़ने पर ही मॉडल डाउनलोड कर सकते हैं
  2. मॉडल को नियमित रूप से और संपूर्ण ऐप की तुलना में भिन्न रिलीज़ चक्र के साथ अपडेट किया जा सकता है

यह जानने के लिए कि मॉडल को फायरबेस एमएल में कैसे तैनात किया जाए, आप अपने टीएफलाइट-संचालित एंड्रॉइड ऐप कोडलैब में फायरबेस जोड़ें का अनुसरण कर सकते हैं। आपके पास फायरबेस कंसोल या पायथन एपीआई का उपयोग करके तैनात करने का विकल्प है।

8. डिवाइस पर भविष्यवाणियां करना

अगला कदम डिवाइस पर मॉडल का उपयोग करके भविष्यवाणियां करना है। आप एक उदाहरण ऐप पा सकते हैं जो आपके द्वारा डाउनलोड किए गए नमूना कोड के app फ़ोल्डर में फायरबेस एमएल से एक मॉडल डाउनलोड करता है, और कुछ क्लाइंट-साइड डेटा के साथ अनुमान लगाने के लिए इसका उपयोग करता है।

चूँकि हमने मॉडल प्रशिक्षण के दौरान कुछ प्रीप्रोसेसिंग लागू की थी, इसलिए हमें डिवाइस पर चलते समय मॉडल इनपुट पर भी वही प्रीप्रोसेसिंग लागू करने की आवश्यकता होगी। ऐसा करने का एक सरल तरीका एक प्लेटफ़ॉर्म और भाषा स्वतंत्र प्रारूप का उपयोग करना है जैसे कि JSON फ़ाइल जिसमें प्रीप्रोसेसिंग कैसे की जाती है इसके बारे में मेटाडेटा के लिए प्रत्येक सुविधा का मानचित्र शामिल है। यह कैसे किया जाता है इसके बारे में आप उदाहरण ऐप में अधिक विवरण पा सकते हैं।

इसके बाद, हम मॉडल को निम्नानुसार एक परीक्षण इनपुट देते हैं:

IapOptimizer.kt

  val testInput = mapOf(
    "coins_spent" to                       2048f,
    "distance_avg" to                      1234f,
    "device_os" to                         "ANDROID",
    "game_day" to                          10f,
    "geo_country" to                       "Canada",
    "last_run_end_reason" to               "laser"
  )

मॉडल सुझाव देता है कि sparky_armor इस विशेष उपयोगकर्ता के लिए सर्वोत्तम IAP पावरअप है।

a3381dbcdbdf811e.png

मॉडल सटीकता मापें

अपने मॉडल की सटीकता को मापने के लिए, हम बस अपने मॉडल द्वारा अनुमानित आईएपी ऑफ़र पर नज़र रख सकते हैं और फायरबेस एनालिटिक्स का उपयोग करके उन पर क्लिक किया गया है या नहीं। आप मॉडल के वास्तविक प्रदर्शन को मापने के लिए फायरबेस ए/बी परीक्षण के साथ इसका उपयोग कर सकते हैं। इसे एक कदम आगे बढ़ाते हुए, आप मॉडल के विभिन्न पुनरावृत्तियों पर ए/बी परीक्षण भी कर सकते हैं। आप फायरबेस के साथ ए/बी परीक्षण के बारे में ए/बी परीक्षण दस्तावेज के साथ फायरबेस रिमोट कॉन्फिग प्रयोग बनाएं में अधिक जान सकते हैं।

9. (वैकल्पिक): नए डेटा के साथ मॉडल को नियमित रूप से अपडेट करना

यदि आपको नया डेटा आने पर अपने मॉडल को अपडेट करने की आवश्यकता है, तो आप आवर्ती आधार पर अपने मॉडल को फिर से प्रशिक्षित करने के लिए एक पाइपलाइन स्थापित कर सकते हैं। ऐसा करने के लिए, आपको पहले यह सुनिश्चित करना होगा कि आपके पास ऊपर उल्लिखित ईपीएसलॉन-लालची रणनीति का उपयोग करके प्रशिक्षण के लिए उपयोग करने के लिए नया डेटा है। (उदाहरण के लिए 70% समय मॉडल पूर्वानुमान परिणाम का उपयोग करना और 30% समय यादृच्छिक परिणामों का उपयोग करना)।

नए डेटा के साथ प्रशिक्षण और तैनाती के लिए एक पाइपलाइन को कॉन्फ़िगर करना इस कोडलैब के दायरे से परे है, आरंभ करने के लिए आप Google क्लाउड एआई प्लेटफ़ॉर्म और टीएफएक्स की जांच कर सकते हैं।

10. बधाई हो!

इस कोडलैब में, आपने सीखा कि फायरबेस का उपयोग करके इन-ऐप-खरीदारी को अनुकूलित करने के लिए ऑन-डिवाइस टीएफलाइट मॉडल को कैसे प्रशिक्षित और तैनात किया जाए। TFLite और Firebase के बारे में अधिक जानने के लिए, अन्य TFLite नमूनों और Firebase प्रारंभ करने संबंधी मार्गदर्शिकाओं पर एक नज़र डालें।

यदि आपके कोई प्रश्न हैं, तो आप उन्हें स्टैक ओवरफ़्लो #फ़ायरबेस-मशीन-लर्निंग पर छोड़ सकते हैं।

हमने क्या कवर किया है

  • टेन्सरफ्लो लाइट
  • फायरबेस एमएल
  • फायरबेस एनालिटिक्स
  • बिगक्वेरी

अगले कदम

  • अपने ऐप के लिए एक ऑप्टिमाइज़र मॉडल को प्रशिक्षित और तैनात करें।

और अधिक जानें