• 1399/03/19

تابع پرسون :

def pearson(rating1, rating2):

   sum_xy = 0

   sum_x = 0

   sum_y = 0

   sum_x2 = 0

   sum_y2 = 0

   n = 0

   for key in rating1:

       if key in rating2:

           n += 1

           x = rating1[key]

           y = rating2[key]

           sum_xy += x * y

           sum_x += x

           sum_y += y

           sum_x2 += pow(x, 2)

           sum_y2 += pow(y, 2)

   # now compute denominator

   denominator = sqrt(sum_x2 - pow(sum_x, 2) / n) * sqrt(sum_y2 - pow(sum_y, 2) / n)

   if denominator == 0:

       return 0

   else:

       return (sum_xy - (sum_x * sum_y) / n) / denominator

استاد تابع پرسون که نوشتید ارور ایندکس میده مشکلم کجاست؟؟

rating1 = [ 5, 2, 1 ]

rating2 = [ 5, 5, 4 ]    

print(pearson(rating1,rating2))

 

 

  • 1399/03/19
  • ساعت 17:53

سلام 

شما نگاه کن تو تابع  دوتا ارگومان داری ولی اینجا سه تا بهش پاس دادی 

بعد اینکه این تابع  رو همراه کلاس به کار ببر نیاز نیست خودت رو اذیت کنی همین که بتونی تابع را تعریف کنی عالیه 

و دوم اینکه من زیاد تلگرام فعال نیستم هر سوالی باشه سریع  نوت ایمیل که برسه جواب می دم 

با تشکر


  • 1399/03/20
  • ساعت 15:04

استاد من سه تا ندادما

دو تا ارگومان دادم دیگه

rating1 = [ 5, 2, 1 ]

rating2 = [ 5, 5, 4 ]    

print(pearson(rating1,rating2))

استاد لطفا یه مثالش بهم بگید...

توی قسمت ویدیو 17 که علی و احمد توضیح دادید به روی کاغذ میشه ضریب همبستگی پرسونش در اوورد ولی با این تابع نمیشه ارور  ایندکس ارور  و یا  میده division by zero

ali=[4.75,4.5,5,4.25,4]

 ahmad =[4,3,5,2,1]


  • 1399/03/20
  • ساعت 17:41

سلام با کاما جدا کردی می شه سه تا  و بالای تابع هم باید کتابخانه   math  را وارد کنین چون sqrt دارین

 

 

 

نمونه تابع خروجی

 


  • 1399/03/20
  • ساعت 21:07

ممنون استاد این تابع جواب داد :)


  • 1399/03/20
  • ساعت 21:25

استاد لطف میکنید تابع شباهت کسینوسی هم برام بفرستید؟؟

ممنون


  • 1399/03/20
  • ساعت 22:33

سلام 

با تابع قبلی هیج فرقی نداره فقط جایگذاری ها رو باید بلد باشین 

 

توابع تو پایتون رو حتما مرور کنین


logo-enamadlogo-samandehi