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)
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)