def getFullInfluenceScore(): partialScoreCollection = getClusterInfluencerScoreCollection() userClusterContributionCollection = getUserClusterContributionCollection() fbfriends = getFriendsCollection() fullScoreCollection = getFullInfluenceScoreCollection() for friend in fbfriends.find(): fid = friend['id'] partial = partialScoreCollection.find_one({'_id': fid}) contribution = userClusterContributionCollection.find_one({'_id': fid}) score = [] for i in range(len(contribution['contribution'])): avg = 1.0 try: avg *= sum(partial['cluster'][str(i)]) / len( partial['cluster'][str(i)]) except ZeroDivisionError: avg = 0.0 score.append(avg * contribution['contribution'][i]) if len(score) > 0: document = {} document['_id'] = fid document['name'] = friend['name'] document['score'] = score fullScoreCollection.insert(document) print friend['name'], score
def getFullInfluenceScore(): partialScoreCollection = getClusterInfluencerScoreCollection() userClusterContributionCollection = getUserClusterContributionCollection() fbfriends = getFriendsCollection() fullScoreCollection = getFullInfluenceScoreCollection() for friend in fbfriends.find(): fid = friend['id'] partial = partialScoreCollection.find_one({'_id' : fid}) contribution = userClusterContributionCollection.find_one({'_id' : fid}) score = [] for i in range(len(contribution['contribution'])): avg = 1.0 try: avg *= sum(partial['cluster'][str(i)])/len(partial['cluster'][str(i)]) except ZeroDivisionError: avg = 0.0 score.append(avg*contribution['contribution'][i]) if len(score) > 0: document = {} document['_id'] = fid document['name'] = friend['name'] document['score'] = score fullScoreCollection.insert(document) print friend['name'], score
def getClusterContribution(): clusterInfluencerScoreCollection = getClusterInfluencerScoreCollection() userClusterContributionCollection = getUserClusterContributionCollection() userClusterContributionCollection.drop() for scores in clusterInfluencerScoreCollection.find(): document = {} document['_id'] = scores['_id'] document['contribution'] = [] for cscore in sorted(scores['cluster'].keys()): document['contribution'].append(len(scores['cluster'][cscore])) document['contribution'] = [i*1.0/sum(document['contribution']) for i in document['contribution'] if sum(document['contribution']) > 0] print 'Calculated for', userClusterContributionCollection.insert(document)
def getClusterContribution(): clusterInfluencerScoreCollection = getClusterInfluencerScoreCollection() userClusterContributionCollection = getUserClusterContributionCollection() userClusterContributionCollection.drop() for scores in clusterInfluencerScoreCollection.find(): document = {} document['_id'] = scores['_id'] document['contribution'] = [] for cscore in sorted(scores['cluster'].keys()): document['contribution'].append(len(scores['cluster'][cscore])) document['contribution'] = [ i * 1.0 / sum(document['contribution']) for i in document['contribution'] if sum(document['contribution']) > 0 ] print 'Calculated for', userClusterContributionCollection.insert( document)