Ejemplo n.º 1
0
    def get_helper2(self, name, function):
        if(name == 'feature_helper'):
            self.feature_helper = function
            return
        if(name == 'similarity_helper'):
            self.similarity_helper = function
            return
        if(name == 'score_helper'):
            self.score_helper = function
            return
        else:
            raise Exception("Cannot find feature function corresponding to the input name")


#for testing use category data
X, category = filter_demo_data.get_X()
print(X.shape)
print(category.shape)
X = X[:, :]
category = category[:, :]
model = logistic_reg(X, user_feat=category)

initializer = one_class.one_class(learner=model)
t = time.time()
train, test = initializer.train_test_split_equal_item(X, .1) #use something else. THe train test split gets ones sometimes
print(time.time() - t )
train = train.astype(int)
test = test.astype(int)
model.fit(train, test)
Ejemplo n.º 2
0
slave = pd.read_csv("Demographic Filtering/mall_with_demographic_category.csv", encoding = "ISO-8859-1", index_col=False) #intializing values

#setting up helpers
cosine = similarity.cosine()
similarity_helper = cosine
score_helper = evaluate.map
scorers = [score_helper, evaluate.rmse]


##############################User Based Recommendations##########################
####NMF#####
#This is the first thing to tune which is nonnegative matrix factorization

nmf_cf = cf.cf(X, similarity_helper=similarity_helper, user_feat=category, feature_helper= nmf_helper(), score_helper=score_helper)
#nmf_cf =  pop_rec.pop_rec(X, score_helper=score_helper)
initializer = one_class.one_class(learner=nmf_cf)
train, test = initializer.train_test_split_percent(.20)
training_ind, validation_ind=initializer.split_training(k, train)

models = list()
models_name = list()
models.append(nmf_cf)
models_name = ["nmf_cf" ]

pop_recommender = pop_rec.pop_rec(X, score_helper=score_helper)
models.append(pop_recommender)
models_name.append("pop_rec")

slave = pd.read_csv("Demographic Filtering/mall_with_demographic_category.csv", encoding = "ISO-8859-1", index_col=False)
slave = slave.ix[:, "INTPTLAT":"INTPTLONG"].as_matrix()
distance_cf = cf.cf(X, similarity_helper=similarity.haversine_helper(), user_feat=slave, score_helper=score_helper)