पाइथन के साथ एआई सीखें · पाठ

सहयोगात्मक फ़िल्टरिंग: उपयोगकर्ता-आधारित और आइटम-आधारित

उपयोगकर्ता समानता, आइटम समानता, पड़ोस-आधारित विधियाँ और रेटिंग के लिए cosine similarity।

पाठ 1, कुल 4 में से13 चरण

सहयोगात्मक फ़िल्टरिंग: उपयोगकर्ता-आधारित और आइटम-आधारित, CoddyKit पर पाइथन के साथ एआई सीखें का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह पाइथन के साथ एआई सीखें सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। पाइथन के साथ एआई सीखें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

सहयोगात्मक फ़िल्टरिंग क्या है

सहयोगात्मक फ़िल्टरिंग (CF) अनेक उपयोगकर्ताओं के व्यवहार से सीखकर वस्तुओं की सिफारिश करती है। मूल विचार यह है: जो लोग अतीत में सहमत रहे हैं, वे भविष्य में भी सहमत रहने की प्रवृत्ति रखते हैं। इसके लिए वस्तुओं के विवरण नहीं, केवल अंतःक्रिया इतिहास की आवश्यकता होती है।

उपयोगकर्ता-वस्तु मैट्रिक्स

CF की शुरुआत एक उपयोगकर्ता-वस्तु मैट्रिक्स से होती है, जिसमें पंक्तियाँ उपयोगकर्ता, स्तंभ वस्तुएँ और प्रत्येक कोष्ठक में रेटिंग होती है (रेटिंग न होने पर वह खाली रहता है)। यह मैट्रिक्स आम तौर पर बहुत विरल होता है, क्योंकि प्रत्येक उपयोगकर्ता कुछ ही वस्तुओं को रेटिंग देता है।

import pandas as pd

matrix = ratings.pivot_table(
    index="user_id", columns="item_id", values="rating"
)

CF के दो प्रकार

  • उपयोगकर्ता-आधारित: अपने जैसे उपयोगकर्ताओं को खोजें और उनकी पसंद की वस्तुओं की सिफारिश करें।
  • वस्तु-आधारित: अपनी पसंद की वस्तुओं जैसी वस्तुएँ खोजें और उनकी सिफारिश करें।

दोनों ही उपयोगकर्ता-पंक्तियों या वस्तु-स्तंभों के बीच समानता के माप पर निर्भर करते हैं।

कोसाइन समानता

कोसाइन समानता परिमाण को नज़रअंदाज़ करते हुए दो रेटिंग सदिशों के बीच के कोण को मापती है। 1 के निकट मान बहुत समान रुचि दर्शाते हैं, जबकि 0 के निकट मान असंबंधित रुचि दर्शाते हैं।

from sklearn.metrics.pairwise import cosine_similarity

filled = matrix.fillna(0)
user_sim = cosine_similarity(filled)  # user x user

उपयोगकर्ता-आधारित पूर्वानुमान

किसी वस्तु के लिए अपनी रेटिंग का पूर्वानुमान लगाने के लिए, समान उपयोगकर्ताओं द्वारा दी गई रेटिंग का भारित औसत लें और भार के रूप में समानता का उपयोग करें। अधिक समान निकटतम पड़ोसियों का प्रभाव अधिक होता है।

पूर्वानुमान का सूत्र

पूर्वानुमानित रेटिंग = sum(समानता * पड़ोसी_रेटिंग) / sum(समानता), उन पड़ोसियों पर जिन्‍होंने उस वस्तु को रेटिंग दी है। पहले प्रत्येक उपयोगकर्ता का औसत घटाने से (औसत-केंद्रण) उन उपयोगकर्ताओं का प्रभाव सुधरता है जो सामान्यतः बहुत अधिक या बहुत कम रेटिंग देते हैं।

import numpy as np

def predict(sims, ratings_for_item):
    mask = ~np.isnan(ratings_for_item)
    if sims[mask].sum() == 0:
        return np.nan
    return np.dot(sims[mask], ratings_for_item[mask]) / sims[mask].sum()

पड़ोसी चुनना (k)

सभी उपयोगकर्ताओं के बजाय केवल शीर्ष-k सबसे समान पड़ोसियों को रखें। इससे असमान उपयोगकर्ताओं से आने वाला शोर कम होता है और पूर्वानुमान तेज़ होता है। k एक समायोज्य हाइपरपैरामीटर है।

वस्तु-आधारित समानता

वस्तु-आधारित CF उपयोगकर्ता-पंक्तियों के बजाय वस्तु-स्तंभों के बीच समानता की गणना करती है। ऐसी वस्तुओं की सिफारिश करें जो उपयोगकर्ता को पहले से पसंद आई वस्तुओं के समान हों।

item_sim = cosine_similarity(filled.T)  # item x item

वस्तु-आधारित समानता अधिक स्थिर क्यों है

वस्तु-वस्तु संबंध धीरे-धीरे बदलते हैं: दो फ़िल्मों के बीच समानता लगभग स्थिर रहती है। उपयोगकर्ताओं की रुचियाँ और उपयोगकर्ता-समुदाय अधिक तेज़ी से बदलते हैं। इसलिए वस्तु-आधारित समानताओं की पूर्व-गणना करके उनका पुनः उपयोग किया जा सकता है, जिससे अधिक स्थिर और बड़े पैमाने पर काम करने वाली सिफारिशें मिलती हैं; इसी कारण अमेज़न ने प्रसिद्ध रूप से इसे प्राथमिकता दी थी।

कोल्ड-स्टार्ट समस्या

CF को ऐसे नए उपयोगकर्ताओं या वस्तुओं के साथ कठिनाई होती है जिनकी अभी कोई रेटिंग नहीं है; तुलना करने के लिए कुछ नहीं होता। सामान्य समाधानों में नए उपयोगकर्ताओं से कुछ रेटिंग माँगना या सामग्री-आधारित विधियों पर जाना शामिल है, जिनके बारे में बाद में बताया जाएगा।

सिफारिशें बनाना

किसी उपयोगकर्ता के लिए बिना रेटिंग वाली प्रत्येक वस्तु को अंक दें, उन्हें घटते क्रम में व्यवस्थित करें और शीर्ष N को सिफारिशों के रूप में लौटाएँ।

scores = {item: predict_for(user, item)
          for item in unrated_items(user)}
top_n = sorted(scores, key=scores.get, reverse=True)[:10]

त्वरित जाँच

सहयोगात्मक फ़िल्टरिंग संबंधी अपने ज्ञान की जाँच करें।

पुनरावलोकन

आपने उपयोगकर्ता-वस्तु मैट्रिक्स पर CF बनाया, कोसाइन समानता की गणना की, पड़ोसियों के समानता-भारित औसत के रूप में रेटिंग का पूर्वानुमान लगाया और देखा कि वस्तु-आधारित CF उपयोगकर्ता-आधारित CF से अधिक स्थिर क्यों है। अगला विषय: SVD के साथ मैट्रिक्स गुणनखंडन।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
53
पाठ
225

अक्सर पूछे जाने वाले प्रश्न

क्या “सहयोगात्मक फ़िल्टरिंग: उपयोगकर्ता-आधारित और आइटम-आधारित” पाठ निःशुल्क है?

हाँ — पाइथन के साथ एआई सीखें अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “सहयोगात्मक फ़िल्टरिंग: उपयोगकर्ता-आधारित और आइटम-आधारित” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। पाइथन के साथ एआई सीखें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“सहयोगात्मक फ़िल्टरिंग: उपयोगकर्ता-आधारित और आइटम-आधारित” में मैं क्या सीखूँगा?

उपयोगकर्ता समानता, आइटम समानता, पड़ोस-आधारित विधियाँ और रेटिंग के लिए cosine similarity। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ पाइथन के साथ एआई सीखें का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या पाइथन के साथ एआई सीखें शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर पाइथन के साथ एआई सीखें शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“सहयोगात्मक फ़िल्टरिंग: उपयोगकर्ता-आधारित और आइटम-आधारित” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस पाइथन के साथ एआई सीखें पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर पाइथन के साथ एआई सीखें पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. सहयोगात्मक फ़िल्टरिंग: उपयोगकर्ता-आधारित और आइटम-आधारित
  2. SVD के साथ मैट्रिक्स फ़ैक्टराइज़ेशन
  3. कंटेंट-आधारित फ़िल्टरिंग
  4. हाइब्रिड सिस्टम और मूल्यांकन मेट्रिक्स
← पाइथन के साथ एआई सीखें पर वापस जाएँ