def run(self, batchID: str, jobID: str):

        from execute.generateBatches import BatchParameters  #class
        divisionDatasetPercentualSize: int
        uBehaviour: str
        repetition: int
        divisionDatasetPercentualSize, uBehaviour, repetition = BatchParameters.getBatchParameters(
        )[batchID]

        #eTool:AEvalTool
        selector, nImplFeedback, eTool = self.getParameters()[jobID]

        datasetID: str = "ml1m" + "Div" + str(divisionDatasetPercentualSize)

        rIDs, rDescs = InputRecomDefinition.exportPairOfRecomIdsAndRecomDescrs(
            datasetID)

        aDescNegDHont: AggregationDescription = InputAggrDefinition.exportADescDHontINF(
            selector, nImplFeedback)

        pDescr: Portfolio1AggrDescription = Portfolio1AggrDescription(
            "FDHontINF" + jobID, rIDs, rDescs, aDescNegDHont)

        model: DataFrame = ModelDefinition.createDHontModel(
            pDescr.getRecommendersIDs())

        simulator: Simulator = InputSimulatorDefinition.exportSimulatorML1M(
            batchID, divisionDatasetPercentualSize, uBehaviour, repetition)
        simulator.simulate([pDescr], [model], [eTool], HistoryHierDF)
    def run(self, batchID: str, jobID: str):

        from execute.generateBatches import BatchParameters  #class
        divisionDatasetPercentualSize: int
        uBehaviour: str
        repetition: int
        divisionDatasetPercentualSize, uBehaviour, repetition = BatchParameters.getBatchParameters(
        )[batchID]

        datasetID: str = "ml1m" + "Div" + str(divisionDatasetPercentualSize)

        recommenderID: str
        nImplFeedback: APenalization
        recommenderID, nImplFeedback = self.getParameters()[jobID]

        rDescr: RecommenderDescription = InputRecomDefinition.exportInputRecomDefinition(
            recommenderID, datasetID)

        pDescr: APortfolioDescription = PortfolioNeg1MethDescription(
            jobID.title(), recommenderID, rDescr, nImplFeedback)

        simulator: Simulator = InputSimulatorDefinition.exportSimulatorML1M(
            batchID, divisionDatasetPercentualSize, uBehaviour, repetition)
        simulator.simulate([pDescr], [DataFrame()], [EToolSingleMethod({})],
                           HistoryHierDF)
    def run(self, batchID: str, jobID: str):

        from execute.generateBatches import BatchParameters  #class
        divisionDatasetPercentualSize: int
        uBehaviour: str
        repetition: int
        divisionDatasetPercentualSize, uBehaviour, repetition = BatchParameters.getBatchParameters(
        )[batchID]

        selector: ADHondtSelector = self.getParameters()[jobID]

        datasetID: str = "ml1m" + "Div" + str(divisionDatasetPercentualSize)

        rIDs, rDescs = InputRecomDefinition.exportPairOfRecomIdsAndRecomDescrs(
            datasetID)

        pDescr: Portfolio1AggrDescription = Portfolio1AggrDescription(
            "BanditTS" + jobID, rIDs, rDescs,
            InputAggrDefinition.exportADescBanditTS(selector))

        eTool: AEvalTool = EvalToolBanditTS({})
        model: DataFrame = ModelDefinition.createBanditModel(
            pDescr.getRecommendersIDs())

        simulator: Simulator = InputSimulatorDefinition.exportSimulatorML1M(
            batchID, divisionDatasetPercentualSize, uBehaviour, repetition)
        simulator.simulate([pDescr], [model], [eTool], HistoryHierDF)
Beispiel #4
0
    def generateBatches(self):

        from execute.generateBatches import BatchParameters  #class

        batchIDs: List[str] = BatchParameters.getBatchParameters().keys()

        jobIDs: List[str] = list(self.getParameters().keys())

        for batchIDI in batchIDs:
            for jobIDL in jobIDs:

                batchesDir: str = ".." + os.sep + "batches" + os.sep + batchIDI
                if not os.path.exists(batchesDir):
                    os.mkdir(batchesDir)

                job: str = str(self.__class__.__name__) + jobIDL
                text:str = str(self.__class__.__name__) + "().run(" \
                           + "'" + str(batchIDI) + "', " \
                           + "'" + str(jobIDL) + "'" + ")"

                jobFile: str = batchesDir + os.sep + job + ".txt"
                self.__writeToFile(jobFile, text)
Beispiel #5
0
    def run(self, batchID: str, jobID: str):

        from execute.generateBatches import BatchParameters  #class
        divisionDatasetPercentualSize: int
        uBehaviour: str
        repetition: int
        divisionDatasetPercentualSize, uBehaviour, repetition = BatchParameters.getBatchParameters(
        )[batchID]

        selector, nImplFeedback = self.getParameters()[jobID]

        eTool: AEvalTool = EvalToolDHondt({
            EvalToolDHondt.ARG_LEARNING_RATE_CLICKS:
            0.02,
            EvalToolDHondt.ARG_LEARNING_RATE_VIEWS:
            1000
        })

        datasetID: str = "ml1m" + "Div" + str(divisionDatasetPercentualSize)

        rIDs, rDescs = InputRecomDefinition.exportPairOfRecomIdsAndRecomDescrs(
            datasetID)

        aDescFuzzyHontDirectOptimizeINF: AggregationDescription = InputAggrDefinition.exportADescDFuzzyHontDirectOptimizeINF(
            selector, nImplFeedback)

        pDescr: Portfolio1AggrDescription = Portfolio1AggrDescription(
            "FuzzyDHondtDirectOptimizeINF" + jobID, rIDs, rDescs,
            aDescFuzzyHontDirectOptimizeINF)

        model: DataFrame = ModelDefinition.createDHontModel(
            pDescr.getRecommendersIDs())

        simulator: Simulator = InputSimulatorDefinition.exportSimulatorML1M(
            batchID, divisionDatasetPercentualSize, uBehaviour, repetition)
        simulator.simulate([pDescr], [model], [eTool], HistoryHierDF)