susanli2016/Machine-Learning-with-Python

[bpr_OnlineRetail_Implicit.ipynb]: operands could not be broadcast together with shapes (3664,) (4338,)

hamzafarooq opened this issue · 2 comments


ValueError Traceback (most recent call last)
Input In [9], in
28 # Create recommendations for customer with id 2
29 customer_id = 2
---> 30 recommendations = recommend(customer_id, sparse_customer_item, customer_vecs, item_vecs)
32 print(recommendations)

Input In [9], in recommend(customer_id, sparse_customer_item, customer_vecs, item_vecs, num_items)
9 min_max = MinMaxScaler()
10 rec_vector_scaled = min_max.fit_transform(rec_vector.reshape(-1,1))[:,0]
---> 11 recommend_vector = customer_interactions * rec_vector_scaled
13 item_idx = np.argsort(recommend_vector)[::-1][:num_items]
15 descriptions = []

ValueError: operands could not be broadcast together with shapes (3664,) (4338,)

tzema commented

I have similar issue :/ Bump

replace model section in notebook with following:
`model = implicit.als.AlternatingLeastSquares(factors=20, regularization=0.1, iterations=50)

alpha = 15
data = (sparse_customer_item * alpha).astype('double')

model.fit(data)`

implicit model expects customer_item data