diff --git a/cornac/data/text.py b/cornac/data/text.py index bd0178bbe23029e21ef9dfcf78875a1eb92fd6d5..8545206cbcb4b80c0220ca8ec71cf043c0b4f6d6 100644 --- a/cornac/data/text.py +++ b/cornac/data/text.py @@ -951,7 +951,7 @@ class TextModality(FeatureModality): if binary: bow_mat.data.fill(1) - return bow_mat if keep_sparse else bow_mat.A + return bow_mat if keep_sparse else bow_mat.toarray() def batch_tfidf(self, batch_ids, keep_sparse=False): """Return matrix of TF-IDF features corresponding to provided batch_ids @@ -972,7 +972,8 @@ class TextModality(FeatureModality): """ tfidf_mat = self.tfidf_matrix[batch_ids] - return tfidf_mat if keep_sparse else tfidf_mat.A + return tfidf_mat if keep_sparse else tfidf_mat.toarray() + class ReviewModality(TextModality): """Review modality @@ -1034,6 +1035,7 @@ class ReviewModality(TextModality): Apply sublinear tf scaling, i.e. replace tf with 1 + log(tf). """ + def __init__(self, data: List[tuple] = None, group_by: str = None, diff --git a/cornac/models/knn/recom_knn.py b/cornac/models/knn/recom_knn.py index 5db7575bff86c944e85a6ff4651c8dcef1bcb0d5..9ba172143b5e6b6e9dbb5e19da661a9e68cc8ee8 100644 --- a/cornac/models/knn/recom_knn.py +++ b/cornac/models/knn/recom_knn.py @@ -239,7 +239,7 @@ class UserKNN(Recommender): if item_idx is not None: weighted_avg = compute_score_single( True, - self.sim_mat[user_idx].A.ravel(), + self.sim_mat[user_idx].toarray().ravel(), self.iu_mat.indptr[item_idx], self.iu_mat.indptr[item_idx + 1], self.iu_mat.indices, @@ -251,7 +251,7 @@ class UserKNN(Recommender): weighted_avg = np.zeros(self.num_items) compute_score( True, - self.sim_mat[user_idx].A.ravel(), + self.sim_mat[user_idx].toarray().ravel(), self.iu_mat.indptr, self.iu_mat.indices, self.iu_mat.data, @@ -412,7 +412,7 @@ class ItemKNN(Recommender): if item_idx is not None: weighted_avg = compute_score_single( False, - self.ui_mat[user_idx].A.ravel(), + self.ui_mat[user_idx].toarray().ravel(), self.sim_mat.indptr[item_idx], self.sim_mat.indptr[item_idx + 1], self.sim_mat.indices, @@ -424,7 +424,7 @@ class ItemKNN(Recommender): weighted_avg = np.zeros(self.num_items) compute_score( False, - self.ui_mat[user_idx].A.ravel(), + self.ui_mat[user_idx].toarray().ravel(), self.sim_mat.indptr, self.sim_mat.indices, self.sim_mat.data, diff --git a/requirements.txt b/requirements.txt index de4ae4d02d3881a723a0eb33c2b9cd0d72ff6018..8a01f803967892d58b08c34de40469c3aafd4047 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -numpy +numpy<2.0 scipy Cython tqdm