Skip to content

Commit

Permalink
temp-fix-copy-intx
Browse files Browse the repository at this point in the history
  • Loading branch information
Eric Lundquist authored and Eric Lundquist committed May 28, 2020
1 parent cf0d93e commit 760f66c
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 9 deletions.
12 changes: 6 additions & 6 deletions rankfm/evaluation.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ def hit_rate(model, test_interactions, k=10, filter_previous=False):
assert model.is_fit, "you must fit the model prior to evaluating hold-out metrics"

# transform interactions into a user -> items dictionary
test_user_items = pd.DataFrame(test_interactions, columns=['user_id', 'item_id'])
test_user_items = pd.DataFrame(test_interactions.values, columns=['user_id', 'item_id'])
test_user_items = test_user_items.groupby('user_id')['item_id'].apply(set).to_dict()
test_users = list(test_user_items.keys())

Expand All @@ -47,7 +47,7 @@ def reciprocal_rank(model, test_interactions, k=10, filter_previous=False):
assert model.is_fit, "you must fit the model prior to evaluating hold-out metrics"

# transform interactions into a user -> items dictionary
test_user_items = pd.DataFrame(test_interactions, columns=['user_id', 'item_id'])
test_user_items = pd.DataFrame(test_interactions.values, columns=['user_id', 'item_id'])
test_user_items = test_user_items.groupby('user_id')['item_id'].apply(set).to_dict()
test_users = list(test_user_items.keys())

Expand Down Expand Up @@ -75,7 +75,7 @@ def discounted_cumulative_gain(model, test_interactions, k=10, filter_previous=F
assert model.is_fit, "you must fit the model prior to evaluating hold-out metrics"

# transform interactions into a user -> items dictionary
test_user_items = pd.DataFrame(test_interactions, columns=['user_id', 'item_id'])
test_user_items = pd.DataFrame(test_interactions.values, columns=['user_id', 'item_id'])
test_user_items = test_user_items.groupby('user_id')['item_id'].apply(set).to_dict()
test_users = list(test_user_items.keys())

Expand Down Expand Up @@ -103,7 +103,7 @@ def precision(model, test_interactions, k=10, filter_previous=False):
assert model.is_fit, "you must fit the model prior to evaluating hold-out metrics"

# transform interactions into a user -> items dictionary
test_user_items = pd.DataFrame(test_interactions, columns=['user_id', 'item_id'])
test_user_items = pd.DataFrame(test_interactions.values, columns=['user_id', 'item_id'])
test_user_items = test_user_items.groupby('user_id')['item_id'].apply(set).to_dict()
test_users = list(test_user_items.keys())

Expand All @@ -130,7 +130,7 @@ def recall(model, test_interactions, k=10, filter_previous=False):
assert model.is_fit, "you must fit the model prior to evaluating hold-out metrics"

# transform interactions into a user -> items dictionary
test_user_items = pd.DataFrame(test_interactions, columns=['user_id', 'item_id'])
test_user_items = pd.DataFrame(test_interactions.values, columns=['user_id', 'item_id'])
test_user_items = test_user_items.groupby('user_id')['item_id'].apply(set).to_dict()
test_users = list(test_user_items.keys())

Expand All @@ -157,7 +157,7 @@ def diversity(model, test_interactions, k=10, filter_previous=False):
assert model.is_fit, "you must fit the model prior to evaluating hold-out metrics"

# get the unique set of test users
test_user_items = pd.DataFrame(test_interactions, columns=['user_id', 'item_id'])
test_user_items = pd.DataFrame(test_interactions.values, columns=['user_id', 'item_id'])
test_users = test_user_items['user_id'].unique()

# generate topK recommendations for all test users also present in the training data
Expand Down
6 changes: 3 additions & 3 deletions rankfm/rankfm.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ def _init_all(self, interactions, user_features=None, item_features=None):
"""

# save the unique lists of users/items in terms of original identifiers
interactions_df = pd.DataFrame(interactions, columns=['user_id', 'item_id'])
interactions_df = pd.DataFrame(interactions.values, columns=['user_id', 'item_id'])
self.user_id = pd.Series(np.sort(np.unique(interactions_df['user_id'])))
self.item_id = pd.Series(np.sort(np.unique(interactions_df['item_id'])))

Expand Down Expand Up @@ -139,7 +139,7 @@ def _init_interactions(self, interactions):
# map the raw user/item identifiers to internal zero-based index positions
# NOTE: any user/item pairs not found in the existing indexes will be dropped

self.interactions = pd.DataFrame(interactions.copy(), columns=['user_id', 'item_id'])
self.interactions = pd.DataFrame(interactions.values.copy(), columns=['user_id', 'item_id'])
self.interactions['user_id'] = self.interactions['user_id'].map(self.user_to_index).astype(np.int32)
self.interactions['item_id'] = self.interactions['item_id'].map(self.item_to_index).astype(np.int32)
self.interactions = self.interactions.rename({'user_id': 'user_idx', 'item_id': 'item_idx'}, axis=1).dropna().astype(np.int32)
Expand Down Expand Up @@ -289,7 +289,7 @@ def predict(self, pairs, cold_start='nan'):
assert pairs.shape[1] == 2, "[pairs] should be: [user_id, item_id]"
assert self.is_fit, "you must fit the model prior to generating predictions"

pred_pairs = pd.DataFrame(pairs.copy(), columns=['user_id', 'item_id'])
pred_pairs = pd.DataFrame(pairs.values.copy(), columns=['user_id', 'item_id'])
pred_pairs['user_id'] = pred_pairs['user_id'].map(self.user_to_index)
pred_pairs['item_id'] = pred_pairs['item_id'].map(self.item_to_index)

Expand Down

0 comments on commit 760f66c

Please sign in to comment.