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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!