class CollaborativeRec(): def __init__(self, *args, **kwargs): self.userdata = args[0] # Information of jobs : key = jobId self.jobdata = args[1] self.test = args[2] #jobMapper must be a (userId,jobId) self.jobMapper = self.userdata['Jobid'] self.preProcessor = preProcessor() # function that ineract with Recommend.py def getRecord(self): joblist1 = self.user2user() joblist2 = self.user2company() joblist = joblist1 + joblist2 for each in joblist2: print(each) #filter the list def user2user(self): self.similar = [] #need to slice userdata according to the test data self.userdata, self.test = self.preProcessor.columnSelector( self.userdata, self.test) #get user similarity data self.cos = CosineSimilarity(self.userdata, self.test) self.similar = self.cos.calculate_cosine() jobList = [] jobjson = {} for each in self.similar: #find the job Id from user Id jobId = self.jobMapper[each[0]] #find job in self.job job = self.jobdata.loc[jobId] #put job, value in dict jobdict = job.to_dict() jobdict['Jobid'] = jobId jobjsontemp = {'jobdata': jobdict, 'similarity': each[1]} jobList.append(jobjsontemp) return jobList #item to item based def user2company(self): self.similar = [] self.jobdata, self.test = self.preProcessor.columnSelector( self.jobdata, self.test) #get user to company similarity data self.cos = CosineSimilarity(self.jobdata, self.test) self.similar = self.cos.calculate_cosine() jobList = [] jobjson = {} for each in self.similar: job = self.jobdata.loc[each[0]] jobdict = job.to_dict() jobdict['Jobid'] = each[0] jobjsontemp = {'jobdata': jobdict, 'similarity': each[1]} jobList.append(jobjsontemp) return jobList
def company2company(self): self.similar = [] self.jobdata, self.test = self.preProcessor.columnSelector( self.jobdata, self.test) #get company to company similarity data self.cos = CosineSimilarity(self.jobdata, self.test) #would not work for multiple row self.similar = self.cos.calculate_cosine() jobList = []
def user2company(self): self.similar = [] jobdata = self.jobdata.copy() testdata = self.test.copy() self.jobdata_train, self.test_train = self.preProcessor.columnSelector( jobdata, testdata) #get user to company similarity data self.cos = CosineSimilarity(self.jobdata_train, self.test_train) self.similar = self.cos.calculate_cosine() return self.similar
def user2company(self): self.similar = [] self.jobdata, self.test = self.preProcessor.columnSelector( self.jobdata, self.test) #get user to company similarity data self.cos = CosineSimilarity(self.jobdata, self.test) self.similar = self.cos.calculate_cosine() jobList = [] jobjson = {} for each in self.similar: job = self.jobdata.loc[each[0]] jobdict = job.to_dict() jobdict['Jobid'] = each[0] jobjsontemp = {'jobdata': jobdict, 'similarity': each[1]} jobList.append(jobjsontemp) return jobList
class CollaborativeRec(): def __init__(self, *args, **kwargs): self.userdata = args[0] # Information of jobs : key = jobId self.jobdata = args[1] self.test = args[2] #jobMapper must be a (userId,jobId) self.jobMapper = self.userdata['Jobid'] self.preProcessor = preProcessor(self.jobdata, self.test) # function that ineract with Recommend.py def getRecord(self): #joblist1=self.user2user() joblist2 = self.user2company() #logic to combine both result #joblist = joblist1 + joblist2 return self.preProcessor.makeList((joblist2)) def user2user(self): self.similar = [] #need to slice userdata according to the test data self.userdata, self.test = self.preProcessor.columnSelector( self.userdata, self.test) #get user similarity data self.cos = CosineSimilarity(self.userdata, self.test) self.similar = self.cos.calculate_cosine() #import ipdb; ipdb.set_trace() jobList = [] for each in self.similar: #find the job Id from user Id jobId = self.jobMapper[each[0]] Similarity = each[1] jobList.append((jobId, Similarity)) #find job in self.job return jobList #item to item based def user2company(self): self.similar = [] jobdata = self.jobdata.copy() testdata = self.test.copy() self.jobdata_train, self.test_train = self.preProcessor.columnSelector( jobdata, testdata) #get user to company similarity data self.cos = CosineSimilarity(self.jobdata_train, self.test_train) self.similar = self.cos.calculate_cosine() return self.similar
def user2user(self): self.similar = [] #need to slice userdata according to the test data self.userdata, self.test = self.preProcessor.columnSelector( self.userdata, self.test) #get user similarity data self.cos = CosineSimilarity(self.userdata, self.test) self.similar = self.cos.calculate_cosine() #import ipdb; ipdb.set_trace() jobList = [] for each in self.similar: #find the job Id from user Id jobId = self.jobMapper[each[0]] Similarity = each[1] jobList.append((jobId, Similarity)) #find job in self.job return jobList
class CollaborativeRec(): def __init__(self, *args, **kwargs): self.userdata = args[0] # Information of jobs : key = jobId self.jobdata= args[1] self.test= args[2] #jobMapper must be a (userId,jobId) self.jobMapper= self.userdata['Jobid'] self.preProcessor = preProcessor(self.jobdata,self.test) # function that ineract with Recommend.py def getRecord(self): #joblist1=self.user2user() joblist2=self.user2company() #logic to combine both result #joblist = joblist1 + joblist2 return self.preProcessor.makeList((joblist2)) def user2user(self): self.similar= [] #need to slice userdata according to the test data self.userdata, self.test= self.preProcessor.columnSelector(self.userdata, self.test) #get user similarity data self.cos= CosineSimilarity(self.userdata,self.test) self.similar = self.cos.calculate_cosine() #import ipdb; ipdb.set_trace() jobList= [] for each in self.similar: #find the job Id from user Id jobId= self.jobMapper[each[0]] Similarity= each[1] jobList.append((jobId,Similarity)) #find job in self.job return jobList #item to item based def user2company(self): self.similar= [] jobdata= self.jobdata.copy() testdata= self.test.copy() self.jobdata_train, self.test_train= self.preProcessor.columnSelector(jobdata,testdata) #get user to company similarity data self.cos= CosineSimilarity(self.jobdata_train,self.test_train) self.similar = self.cos.calculate_cosine() return self.similar
def user2company(self): self.similar= [] jobdata= self.jobdata.copy() testdata= self.test.copy() self.jobdata_train, self.test_train= self.preProcessor.columnSelector(jobdata,testdata) #get user to company similarity data self.cos= CosineSimilarity(self.jobdata_train,self.test_train) self.similar = self.cos.calculate_cosine() return self.similar
def company2company(self): self.similar= [] self.jobdata, self.test= self.preProcessor.columnSelector(self.jobdata, self.test) #get company to company similarity data self.cos= CosineSimilarity(self.jobdata,self.test) #would not work for multiple row self.similar = self.cos.calculate_cosine() jobList=[] # extract maximum from each row
def getRecord(self): self.similar= [] self.cos= CosineSimilarity(self.userdata,self.test) self.similar = self.cos.calculate_cosine() jobList= [] jobjson= {} for each in self.similar: #find the job Id from user Id jobId= self.jobMapper[each[0]] #find job in self.job job = self.jobdata.loc[jobId] #put job, value in dict jobdict= job.to_dict() jobdict['Jobid']= jobId jobjsontemp = {'jobdata':jobdict,'similarity':each[1]} jobList.append(jobjsontemp) return jobList
def user2user(self): self.similar = [] #need to slice userdata according to the test data self.userdata, self.test = self.preProcessor.columnSelector( self.userdata, self.test) #get user similarity data self.cos = CosineSimilarity(self.userdata, self.test) self.similar = self.cos.calculate_cosine() jobList = [] jobjson = {} for each in self.similar: #find the job Id from user Id jobId = self.jobMapper[each[0]] #find job in self.job job = self.jobdata.loc[jobId] #put job, value in dict jobdict = job.to_dict() jobdict['Jobid'] = jobId jobjsontemp = {'jobdata': jobdict, 'similarity': each[1]} jobList.append(jobjsontemp) return jobList
def user2user(self): self.similar= [] #need to slice userdata according to the test data self.userdata, self.test= self.preProcessor.columnSelector(self.userdata, self.test) #get user similarity data self.cos= CosineSimilarity(self.userdata,self.test) self.similar = self.cos.calculate_cosine() #import ipdb; ipdb.set_trace() jobList= [] for each in self.similar: #find the job Id from user Id jobId= self.jobMapper[each[0]] Similarity= each[1] jobList.append((jobId,Similarity)) #find job in self.job return jobList
class ContentRec(): def __init__(self, *args, **kwargs): # Information of jobs : key = jobId self.jobdata = args[1] self.test = args[2] #jobMapper must be a (userId,jobId) self.preProcessor = preProcessor(self.jobdata) def company2company(self): self.similar = [] self.jobdata, self.test = self.preProcessor.columnSelector( self.jobdata, self.test) #get company to company similarity data self.cos = CosineSimilarity(self.jobdata, self.test) #would not work for multiple row self.similar = self.cos.calculate_cosine() jobList = []
class ContentRec(): def __init__(self, *args, **kwargs): # Information of jobs : key = jobId self.jobdata= args[1] self.test= args[2] #jobMapper must be a (userId,jobId) self.preProcessor = preProcessor(self.jobdata) def company2company(self): self.similar= [] self.jobdata, self.test= self.preProcessor.columnSelector(self.jobdata, self.test) #get company to company similarity data self.cos= CosineSimilarity(self.jobdata,self.test) #would not work for multiple row self.similar = self.cos.calculate_cosine() jobList=[] # extract maximum from each row
class CollaborativeRec(): def __init__(self, *args, **kwargs): self.userdata = args[0] # Information of jobs : key = jobId self.jobdata= args[1] self.test= args[2] self.preProcess() def preProcess(self): #jobMapper must be a (userId,jobId) self.jobMapper= self.userdata['Jobid'] self.userdata.drop('Jobid',axis= 1, inplace= True) order =['experience','php','python','qa','js','level','qualification','age'] self.test = self.test[order] # If Job is present #self.test.drop('Jobid',axis= 1, inplace= True) def getRecord(self): self.similar= [] self.cos= CosineSimilarity(self.userdata,self.test) self.similar = self.cos.calculate_cosine() jobList= [] jobjson= {} for each in self.similar: #find the job Id from user Id jobId= self.jobMapper[each[0]] #find job in self.job job = self.jobdata.loc[jobId] #put job, value in dict jobdict= job.to_dict() jobdict['Jobid']= jobId jobjsontemp = {'jobdata':jobdict,'similarity':each[1]} jobList.append(jobjsontemp) return jobList