شما اینجا هستید

یافتن محصولات مشابه

شما می دانید چگونه افراد شبیه به هم را بیابید و محصولاتی را برای فرد مورد نظر نمایش دهید، حال این سوال مطرح می شود که محصولات شبیه به هم را پیدا کنیم؟ شما ممکن است به این مورد در سایت هایی برخورد کرده باشید که اطلاعات زیادی درباره شما جمع آوری نکرده اند. یک بخش از صفحه ی کتاب Programming Python در سایت آمازون در تصویر ۴-۲ نمایش داده شده است.

تصویر ۴-۲ آمازون محصولاتی را نشان می دهد که شبیه به کتاب Programming python هستند.

در این مورد، شما می توانید شباهت را اینگونه تشخیص دهید. در ابتدار با جستجو برای کسی که به یک کالای خاص علاقه داشته میپردازیم و سپس می بینیم به چه چیز های دیگری نیز علاقه داشته. این شیوه در حقیقت شیوه قبلی است که ما قبلا برای تشخیص بین شباهت افراد استفاده کرده ایم.اگر شما دیکشنری را از :

 {'Lisa Rose': {'Lady in the Water': 2.5, 'Snakes on a Plane': 3.5},
'Gene Seymour': {'Lady in the Water': 3.0, 'Snakes on a Plane': 3.5}} 

به:

 {'Lady in the Water':{'Lisa Rose':2.5,'Gene Seymour':3.0},
'Snakes on a Plane':{'Lisa Rose':3.5,'Gene Seymour':3.5}} etc.. 

تغییر دهید و یک تابع به recommendations.py برای انجام این انتقال بیفزایید:

def transformPrefs(prefs):
    result={}
    for person in prefs:
        for item in prefs[person]:
            result.setdefault(item,{})
            # Flip item and person
            result[item][person]=prefs[person][item]
    return result

حال تابع topMatches برای یافتن یک سری فیلم شبیه به فیلم Superman returns استفاده می کنیم:

>> reload(recommendations)
>> movies=recommendations.transformPrefs(recommendations.critics)
>> recommendations.topMatches(movies,'Superman Returns')
[(0.657, 'You, Me and Dupree'), (0.487, 'Lady in the Water'), (0.111, 'Snakes on a
Plane'), (-0.179, 'The Night Listener'), (-0.422, 'Just My Luck')] 

توجه کنید که در این مثال ما از ضریب همبستگی منفی استفاده کرده ایم که نشان می دهد که افرادی که به Superman returns امتیاز منفی داده اند به تمایل داشتند به فیلم Just My Luck امتیاز منفی بدهند.این موضوع در تصویر ۵-۲ نشان داده شده است.

می توانید کار پیچیده تری کنید و یک لیست از منتقدین برای یک فیلم پیشنهاد دهید. مثلا برای تصمیم گیری در مورد اینکه از کدام منتقد برای اکران اول فیلم دعوت کنید.

 >> recommendations.getRecommendations(movies,'Just My Luck')
[(4.0, 'Michael Phillips'), (3.0, 'Jack Matthews')] 

جا به جا کردن جای افراد و آیتم ها همیشه منجر به نتیجه مطلوب نمی شود، اما در بیشتر موارد به شما اجازه یک مقایسه جالب را میدهد. یک خرده فروشی آنلاین ممکن است تاریخچه خرید را جمع آوری کند به هدف اینکه پیشنهاد محصولات را به بازدید کننده ها نشان دهد.

معکوس کردن محصولات با افراد، به این شکل که ما اینجا انجام دادیم، به آنها اجازه می دهند که افرادی که ممکن است برخی محصولات را بخرند نشان می دهد. یک استفاده به القوه دیگر این است که مطمئن شویم لینک های جدید در سایت پیشنهاد لینک توسط افرادی که به آن علاقه دارند دیده شده اند یا خیر.

شکل ۵-۲ بین فیلم های Superman Rutuns و Just My Luck یک همبستگی منفی وجود دارد.

دیدگاه‌ها

دستتون درد نکنه. واقعا عالی بود

دیدگاه جدیدی بگذارید