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
示例#2
0
 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 = []
示例#3
0
 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
示例#5
0
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
示例#6
0
 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
示例#9
0
 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
示例#10
0
 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
示例#13
0
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 = []
示例#14
0
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
示例#15
0
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