Example #1
0
 def __init__(self):
     self.persistModels = {
         self.KNN_MODEL_KEY: KNNmodel(),
         self.MP_MODEL_KEY: MostPopularModel(),
         self.CL_MODEL_KEY: ClusteringModel(),
         self.CF_MODEL_KEY: CFmodel()
     }
     self.transientModels = {self.SI_MODEL_KEY: {}}
 def __init__(self):
     # offline models saved in a dictionary, key: static variable defined above, value: instance of class as attribute
     self.myModels = {
         self.MP_MODEL_KEY: MostPopularModel(),
         self.RP_MODEL_KEY: RecentPopularModel(),
         self.KNN_MODEL_KEY: KNNmodel(),
         self.CL_MODEL_KEY: ClusteringModel(),
         self.CF_MODEL_KEY: CFmodel()
     }
    def __init__(self):
        self.persistModels = {
            self.KNN_MODEL_KEY: KNNmodel(),
            self.MP_MODEL_KEY: MostPopularModel(),
            self.CL_MODEL_KEY: ClusteringModel(),
            self.CF_MODEL_KEY: CFmodel()
        }

        # similarity model is used for each user
        self.transientModels = {self.SI_MODEL_KEY: {}}
Example #4
0
    def __init__(self):
        self.persistModels = {
            self.KNN_MODEL_KEY: KNNmodel(),
            self.MP_MODEL_KEY: MostPopularModel(),
            self.CL_MODEL_KEY: ClusteringModel(),
            self.CF_MODEL_KEY: CFmodel()
        }

        # similarity model is used for each user
        # online recommendation, trained by online learner
        self.transientModels = {self.SI_MODEL_KEY: {}}
Example #5
0
        else:
            self.recs = []

    def predict(self, itemFeature):
        # X should be item's category feature, only single record
        # return the similar items
        itemFeature = itemFeature.values.reshape(1, -1)
        center, indices = self.clusteringModel.predict(itemFeature)
        return indices[0]

    def provideRec(self):
        return self.recs


if __name__ == "__main__":
    from DatabaseInterface import DatabaseInterface
    from Models.ClusteringModel import ClusteringModel
    db = DatabaseInterface("../DATA")
    db.startEngine()
    itemFeatureTable = db.extract(
        DatabaseInterface.ITEM_FEATURE_KEY).loc[:, "unknown":]

    model = ClusteringModel()
    model.train(itemFeatureTable)

    modelSI = SimilarItemModel(model)
    modelSI.train(itemFeatureTable.loc[1], 4)
    print(modelSI.provideRec())
    modelSI.train(itemFeatureTable.loc[1], 2)
    print(modelSI.provideRec())
        else:
            self.recs = []

    def predict(self, itemFeature):
        # X should be item's category feature, only single record
        # return the similar items
        itemFeature = itemFeature.values.reshape(1, -1)
        center, indices = self.clusteringModel.predict(itemFeature)
        return indices[0]

    def provideRec(self):
        return self.recs


if __name__ == "__main__":
    from DatabaseInterface import DatabaseInterface
    from Models.ClusteringModel import ClusteringModel

    db = DatabaseInterface("../DATA")
    db.startEngine()
    itemFeatureTable = db.extract(DatabaseInterface.ITEM_FEATURE_KEY).loc[:, "unknown":]

    model = ClusteringModel()
    model.train(itemFeatureTable)

    modelSI = SimilarItemModel(model)
    modelSI.train(itemFeatureTable.loc[1], 4)
    print modelSI.provideRec()
    modelSI.train(itemFeatureTable.loc[1], 2)
    print modelSI.provideRec()