Question: code cannot import numpy. The link to the question is below and the result should have a Pearson Correlation of -07307. https://www.coursehero.com/u/file/p6s50ig3/Define-a-function-called-pearsonD-The-function-must-take-two-and-only-two/#doc/qa Code: def pearsonD(userratings1,
code cannot import numpy. The link to the question is below and the result should have a Pearson Correlation of -07307.
https://www.coursehero.com/u/file/p6s50ig3/Define-a-function-called-pearsonD-The-function-must-take-two-and-only-two/#doc/qa
Code:
def pearsonD(userratings1, userratings2):
import numpy as np
import math
user1_keys = list(userratings1.keys())
user2_keys = list(userratings2.keys())
userratings1_mean = np.mean(list((userratings1.values())))
userratings2_mean = np.mean(list((userratings2.values())))
unique_keys = np.unique(user1_keys + user2_keys)
sum_num = 0
xm = 0
ym = 0
for key in unique_keys:
if key in user1_keys and key in user2_keys:
sum_num = sum_num + ((userratings1.get(key)-userratings1_mean) * (userratings2.get(key)-userratings2_mean))
xm = xm + (userratings1.get(key)-userratings1_mean)**2
ym = ym + (userratings2.get(key)-userratings2_mean)**2
return sum_num / math.sqrt((xm * ym))
UserPRatings = {'Apple':1, 'Samsung':5, 'Nokia':7, 'Motorola':8, 'LG':5, 'Sony':1, 'Blackberry':7}
UserQRatings = {'Apple':7, 'Samsung':1, 'Nokia':4, 'LG':4, 'Sony':6, 'Blackberry':3}
print(pearsonD(UserPRatings, UserQRatings))
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
