susanli2016 / Machine-Learning-with-Python

Python code for common Machine Learning Algorithms
4.25k stars 4.81k forks source link

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

Open hamzafarooq opened 2 years ago

hamzafarooq commented 2 years ago

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 1 year ago

I have similar issue :/ Bump

riyaj8888 commented 1 year ago

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