Leveraging Predictive Analytics: Building a Recommender System

Author: David Ezeani

Import and Setup required Libraries

In [1]:
!pip install surprise
Collecting surprise
  Downloading surprise-0.1-py2.py3-none-any.whl.metadata (327 bytes)
Collecting scikit-surprise (from surprise)
  Downloading scikit_surprise-1.1.4.tar.gz (154 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/154.4 kB ? eta -:--:--
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 154.4/154.4 kB 6.6 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: joblib>=1.2.0 in /usr/local/lib/python3.11/dist-packages (from scikit-surprise->surprise) (1.5.1)
Requirement already satisfied: numpy>=1.19.5 in /usr/local/lib/python3.11/dist-packages (from scikit-surprise->surprise) (2.0.2)
Requirement already satisfied: scipy>=1.6.0 in /usr/local/lib/python3.11/dist-packages (from scikit-surprise->surprise) (1.15.3)
Downloading surprise-0.1-py2.py3-none-any.whl (1.8 kB)
Building wheels for collected packages: scikit-surprise
  Building wheel for scikit-surprise (pyproject.toml) ... done
  Created wheel for scikit-surprise: filename=scikit_surprise-1.1.4-cp311-cp311-linux_x86_64.whl size=2469543 sha256=33ca04b748d80068a854bc65cbdfa5c505d817ff69aedd70e6595e694441b70f
  Stored in directory: /root/.cache/pip/wheels/2a/8f/6e/7e2899163e2d85d8266daab4aa1cdabec7a6c56f83c015b5af
Successfully built scikit-surprise
Installing collected packages: scikit-surprise, surprise
Successfully installed scikit-surprise-1.1.4 surprise-0.1
In [1]:
import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
import os
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
import math
import json
import time
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.metrics.pairwise import cosine_similarity
from sklearn.model_selection import train_test_split
from sklearn.neighbors import NearestNeighbors
import joblib
import scipy.sparse
from scipy.sparse import csr_matrix
from scipy.sparse.linalg import svds
import warnings; warnings.simplefilter('ignore')
%matplotlib inline
from surprise import KNNWithMeans
from surprise import Dataset
from surprise import accuracy
from surprise import Reader
import os
from surprise.model_selection import train_test_split

!pip install numpy==1.26.4

DATA PREPROCESSING AND EDA

Load and Review the Dataset

In [2]:
electronics_data=pd.read_csv("ratings_Electronics.csv",names=['userId', 'productId','Rating','timestamp'])
In [3]:
# Display the data

electronics_data.head()
Out[3]:
userId productId Rating timestamp
0 AKM1MP6P0OYPR 0132793040 5.0 1365811200
1 A2CX7LUOHB2NDG 0321732944 5.0 1341100800
2 A2NWSAGRHCP8N5 0439886341 1.0 1367193600
3 A2WNBOD3WNDNKT 0439886341 3.0 1374451200
4 A1GI0U4ZRJA8WN 0439886341 1.0 1334707200
In [4]:
#Shape of the data--Dimension in (Rows, column)
electronics_data.shape
Out[4]:
(7824482, 4)
In [5]:
# Reduce the dataset to half its size by sampling
electronics_data_half = electronics_data.sample(frac=0.5, random_state=42)

# Display the shape of the new dataframe to confirm
print("Shape of the original dataframe:", electronics_data.shape)
print("Shape of the reduced dataframe:", electronics_data_half.shape)
Shape of the original dataframe: (7824482, 4)
Shape of the reduced dataframe: (3912241, 4)
In [6]:
#Check the datatypes
electronics_data_half.dtypes
Out[6]:
0
userId object
productId object
Rating float64
timestamp int64

In [7]:
electronics_data_half.info()
<class 'pandas.core.frame.DataFrame'>
Index: 3912241 entries, 1157290 to 4585243
Data columns (total 4 columns):
 #   Column     Dtype  
---  ------     -----  
 0   userId     object 
 1   productId  object 
 2   Rating     float64
 3   timestamp  int64  
dtypes: float64(1), int64(1), object(2)
memory usage: 149.2+ MB
In [8]:
#Five point summary

electronics_data_half.describe()['Rating'].T
Out[8]:
Rating
count 3.912241e+06
mean 4.012772e+00
std 1.380784e+00
min 1.000000e+00
25% 3.000000e+00
50% 5.000000e+00
75% 5.000000e+00
max 5.000000e+00

In [9]:
#Find the minimum and maximum ratings
print('Minimum rating is: %d' %(electronics_data.Rating.min()))
print('Maximum rating is: %d' %(electronics_data.Rating.max()))
Minimum rating is: 1
Maximum rating is: 5
In [9]:
# Check the distribution of the rating
with sns.axes_style('white'):
    g = sns.catplot(x="Rating", data=electronics_data_half, aspect=2.0, kind='count')
    g.set_ylabels("Total number of ratings")
Out[9]:
<seaborn.axisgrid.FacetGrid at 0x7e4645b97d50>
No description has been provided for this image

Cleanup of Data

In [12]:
#Check for missing values
print('Number of missing values across columns: \n',electronics_data.isnull().sum())
Number of missing values across columns: 
 userId       0
productId    0
Rating       0
timestamp    0
dtype: int64
In [13]:
# Check for duplicate values
electronics_data.duplicated().sum()
Out[13]:
0
In [10]:
#check for unique users and products
print("Total data ")
print("-"*50)
print("\nTotal no of ratings :",electronics_data_half.shape[0])
print("Total No of Users   :", len(np.unique(electronics_data_half.userId)))
print("Total No of products  :", len(np.unique(electronics_data_half.productId)))
Total data 
--------------------------------------------------

Total no of ratings : 3912241
Total No of Users   : 2549085
Total No of products  : 360802
In [11]:
#Dropping the Timestamp column

electronics_data_half.drop(['timestamp'], axis=1,inplace=True)
In [12]:
#Analysis of rating given by the user

no_of_rated_products_per_user = electronics_data_half.groupby(by='userId')['Rating'].count().sort_values(ascending=False)

no_of_rated_products_per_user.head()
Out[12]:
Rating
userId
A3OXHLG6DIBRW8 279
ADLVFFE4VBT8 272
A5JLAU2ARJ0BO 261
A680RUE1FDO8B 208
A6FIAB28IS79 208

In [13]:
no_of_rated_products_per_user.describe()
Out[13]:
Rating
count 2.549085e+06
mean 1.534763e+00
std 1.815033e+00
min 1.000000e+00
25% 1.000000e+00
50% 1.000000e+00
75% 1.000000e+00
max 2.790000e+02

In [14]:
print('\n No of Users that have given 50 or more ratings: {}\n'.format(sum(no_of_rated_products_per_user >= 50)) )
 No of Users that have given 50 or more ratings: 293

Model Building

In [17]:
#Getting the new dataframe which contains users who has given 50 or more ratings

new_df=electronics_data_half.groupby("productId").filter(lambda x:x['Rating'].count() >=50)
In [18]:
#Reading the dataset
reader = Reader(rating_scale=(1, 5))
data = Dataset.load_from_df(new_df,reader)
In [19]:
#Splitting the dataset
trainset, testset = train_test_split(data, test_size=0.3,random_state=10)
In [20]:
# Use user_based true/false to switch between user-based or item-based collaborative filtering
algo = KNNWithMeans(k=5, sim_options={'name': 'pearson_baseline', 'user_based': False})
algo.fit(trainset)
Estimating biases using als...
Computing the pearson_baseline similarity matrix...
Done computing similarity matrix.
Out[20]:
<surprise.prediction_algorithms.knns.KNNWithMeans at 0x7e46425aa050>
In [21]:
# run the trained model against the testset
test_pred = algo.test(testset)
In [22]:
test_pred
Out[22]:
[Prediction(uid='A19NLU301K2AWX', iid='B003HGHR82', r_ui=4.0, est=3.5588235294117645, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A284J4XHAKPYM6', iid='B00000K4KH', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1SQ3T0SED1834', iid='B005U0M9B8', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1MUMOW4RFR249', iid='B00746LVOM', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2D3SIBFMGV5LS', iid='B001NT9UHG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2P6M8H7CPCFFB', iid='B00F8ARPQY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A29FUUTYWJGVZT', iid='B000U62N1S', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A37IS6ISFCDK4O', iid='B008DVMRXG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AF850YSAPGIQY', iid='B009FD4UDG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A363P5A872PCNC', iid='B008J7WRIO', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A33Y35TX08YUEK', iid='B000NDO744', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A11R33D7FVY9Q2', iid='B001FA1O18', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1ZCPULD551RIN', iid='B00009RA60', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AELHESGDSGWU0', iid='B0031MJZ0K', r_ui=3.0, est=3.896551724137931, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AIY1V19LUA986', iid='B0097BEFYA', r_ui=1.0, est=3.897204688908927, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2GNMUUKF9RRSP', iid='B001QWWXA6', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AACRR2ZKHIRKQ', iid='B003DNSIOQ', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1D6ASIIQVI5X0', iid='B003ES54A6', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AS2MH77M4AP2V', iid='B0076U29LK', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2JIPZ847U95T6', iid='B004GCJEZU', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2RIXSMGE9VIBG', iid='B004U78J1G', r_ui=5.0, est=4.031662269129288, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2W92H39QKYWWA', iid='B005UBNH18', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3908P98OCSVOO', iid='B0001A3N6C', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3I65SQMA0NBOL', iid='B000VXWO9Q', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1GLXXG4MPLQC0', iid='B00800VI0S', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1PJL4QVYX4VR5', iid='B006GWO5WK', r_ui=4.0, est=4.336533957845433, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='ALLEFK11IU5DT', iid='B00333AWTA', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2QHFJQX3Z2WU6', iid='B00006HYKM', r_ui=3.0, est=3.5343915343915344, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1ZS04YHX9DIA0', iid='B000IZDN60', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AAXY85WLBUPIX', iid='B005BDAR5E', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3KTSDH42R16DN', iid='B005C298UY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2A642XPG0SUWY', iid='B009AYLDSU', r_ui=5.0, est=4.589473684210526, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1BUQOVCXCG8NX', iid='B005INJ4ZG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2C0NEIUM6NL94', iid='B0042X9LC4', r_ui=5.0, est=4.503496503496503, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AJT2XS3UJ9WIK', iid='B003OC6LWM', r_ui=5.0, est=3.858156028368794, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3TWY1VPTAB99W', iid='B001N82JP2', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A33G3178Z89IHI', iid='B0052QGGYQ', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3SL6Q0I96CRMQ', iid='B00B7JLZQQ', r_ui=5.0, est=4.3619047619047615, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A37UZ0XN5CIC3D', iid='B001J2ZSL4', r_ui=4.0, est=4.728571428571429, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2YTOYSCMVC7AJ', iid='B001AAVA08', r_ui=5.0, est=4.041570438799076, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AXURQU6ANZJ0B', iid='B008GGH4VI', r_ui=5.0, est=4.474452554744525, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A22GXQXKS7NEKX', iid='B0028ACYMC', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3K36TLFRYEBE4', iid='B00021XIJW', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1J8TVICSRC70W', iid='B0031U1ATG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A38909C8YGOLUW', iid='B009S2CWX4', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3FQD2ZA6ZSOEL', iid='B002Y2NI4M', r_ui=3.0, est=3.9858156028368796, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A31Z3F1ROUZ4RF', iid='B0098F5W0Q', r_ui=4.0, est=3.9200421525469773, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='A3IGNQVRM39AVE', iid='B00C8T7CXO', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3GZMLPTOB26C3', iid='B00AM7MM84', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1V0JGNJMXPL57', iid='B007PP17OQ', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AG5J89DJJ2FQI', iid='B00AIIJ2W6', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2XZBT4TOEBUGN', iid='B003VJ1O34', r_ui=5.0, est=3.3333333333333335, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3RDCXVX5H5CSX', iid='B004GF8TIK', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3NZQUCCNKNH4S', iid='B001TH7T2U', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AUC6I31AMCX5B', iid='B0055FZIX4', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AJ97FTCRRDA6H', iid='B008HK1YAA', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2USX8HHJTI2QG', iid='B009LVPYDM', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2XS12J95NYSZP', iid='B0015DNIKU', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AQCWMTVUCDMOC', iid='B0014II9F0', r_ui=1.0, est=3.3121387283236996, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AWBF7E9SLXOJ7', iid='B0025T1HM4', r_ui=5.0, est=3.6554621848739495, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AOMOTMG7R8AUO', iid='B000V1VG2E', r_ui=5.0, est=4.315384615384615, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2USJTSKYXZTAS', iid='B000VOC90Y', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A4L8K4O0V04VQ', iid='B00007M1TZ', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AWQLIS0FLIC1A', iid='B0042F3K9W', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2IV5415KPDK6O', iid='B00001P505', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AQCN06H1JU71D', iid='B00D5T3QK4', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3JMWQMI4G51KF', iid='B001UHOX2S', r_ui=5.0, est=4.3125, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A5ZJLD278GRTD', iid='B0019EHU8G', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AMXL4YFF4TRCE', iid='B003OEX24A', r_ui=5.0, est=3.43859649122807, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2NN2JH4D4I5GH', iid='B006WBPNOE', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3F6XLL2O2SEKZ', iid='B00BKW2410', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3DZFSKVCRE0WG', iid='B00622AG6S', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1YB06I2FZS3Z5', iid='B00007KDVI', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2C6H5GZJTV1IE', iid='B003TVWNAM', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1547ZFU7NGVVD', iid='B001X017G2', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3AXW3V7YBRKCE', iid='B007XOQ3BQ', r_ui=2.0, est=4.080667593880389, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1ER5C37QH4JRY', iid='B0043M668G', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1VHIWJOY1QJ2G', iid='B0015A8Y5M', r_ui=5.0, est=4.640350877192983, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1WN5ID5HUY2VV', iid='B0032JAG4G', r_ui=5.0, est=4.4035087719298245, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3FZ8EHL64JNNK', iid='B002U2X59O', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AT8V3JOZD3KWK', iid='B001TZWNF0', r_ui=5.0, est=4.416666666666667, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2R66DJG745VLN', iid='B00A3YN0Z0', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A384Z9Q8D97A2C', iid='B0015HS1HQ', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A311967UH14NPK', iid='B004YIFOOG', r_ui=5.0, est=4.46875, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3653I99U1PFUF', iid='B0006BGV2Y', r_ui=3.0, est=4.142857142857143, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2D6H09WBTYHJ4', iid='B0013G8PTS', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3RMZF2G6BHUCF', iid='B003ZUXVQM', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2XZ2A6PBSE5X6', iid='B004FJV8EE', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3UEZNGZNORL3J', iid='B000BFNOT8', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='ATV21FLPZU2YH', iid='B005S0BYQ6', r_ui=5.0, est=3.734782608695652, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2HQI5JXPYKN5Z', iid='B003MCSVI6', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A265IHKP5MOQNC', iid='B00ESYW40S', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A118EB7MZL49AD', iid='B002RWJDAC', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='ANEK6V82KF7H3', iid='B002MAPRYU', r_ui=5.0, est=3.8997849462365592, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='ALRF71H5EZY71', iid='B001Y01UCW', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2XD8WNE2CTUIF', iid='B003Y60DZO', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A320PJ7VHCR6BG', iid='B002RWJD7A', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3RO4Q4QTZ9H53', iid='B002K9GCU6', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3VMRFBTYGZUUP', iid='B009A5204K', r_ui=5.0, est=4.044864226682408, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1A4BV30BVYWAU', iid='B004NBN5UY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1R9GXAZA7N2GD', iid='B002NZVCRA', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2OTQMC69J8MUI', iid='B00AAKLDN8', r_ui=3.0, est=4.166666666666667, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2RX9RDGXOUM3E', iid='B007X6FCWA', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3U3YDYWNKHS7C', iid='B0036WT1WC', r_ui=1.0, est=3.3944954128440368, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A118LCF42C6YJA', iid='B00D856NOG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2ZKR8CGRKUL3F', iid='B003ZX8B2S', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A21XJXZZQEFB1J', iid='B001OORMVQ', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='ALHWZSTAELK9I', iid='B0019EHU8G', r_ui=5.0, est=5, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='A2SWJ2YZO15A89', iid='B006PJUO6K', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A220Q8L0KUUWEN', iid='B009Z7VAKS', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2I2QPIUZ9DJC6', iid='B003XM73P2', r_ui=5.0, est=4.7164179104477615, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3GQ8CY9LL6106', iid='B001GAOYCS', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A15OOJ9NTE29G9', iid='B007TB0PIA', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3AF1V14XIOIPX', iid='B00009R6TA', r_ui=5.0, est=4.783193277310924, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='AOJ5PC7APKUDI', iid='B0084V5FOI', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A27QQRIBWTURKD', iid='B002P3KMLW', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AUOJNV67EPVKC', iid='B0049YQVHE', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A191961SHJXPPJ', iid='B008G2GBN4', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1IQ461X0LGNUC', iid='B00622AG6S', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A29NWXIU2ENKHH', iid='B0044YU60M', r_ui=4.0, est=4.207062600321027, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1E4YE2VWBMK1I', iid='B003LR7ME6', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2WIV8SU87H7BI', iid='B004C9P9TM', r_ui=5.0, est=4.780723141884666, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='A18R50B4PS1Z5X', iid='B000O161X0', r_ui=5.0, est=5, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='A34P9ULLO7HVO5', iid='B00B8A43CC', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A22ZI4FO8J3W0', iid='B005L38QLQ', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AILEEWKFYQO3T', iid='B001ID829O', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1RH8LAQWXJS30', iid='B003W9B4H4', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A9EZ2DU5RWVRY', iid='B00D5T3QK4', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2HOE6X2E4C6LU', iid='B006ZW4IVE', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A26M7UGOKWCTA2', iid='B005U0M9B8', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AFCWZZ3ANRWBT', iid='B001MJ30C8', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AZAE3FRY92RTD', iid='B00BYH3TTM', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1ASAGI6HT5WSW', iid='B003DZ165W', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3AAL3FKXOUYC2', iid='B0007Z1M50', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3V84K6FNNCXLU', iid='B009IUIV4A', r_ui=5.0, est=4.538461538461538, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A35HCQGD5G8OUL', iid='B005IGVXMA', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2Z4GB0G5PMO4Z', iid='B001EYU3L2', r_ui=3.0, est=3.528368794326241, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A11NH6I61I9NLD', iid='B000WBQOZW', r_ui=5.0, est=3.7672955974842766, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1JIWMPQS6TPJK', iid='B0053FR9FQ', r_ui=5.0, est=4.245283018867925, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AZXMCRSP5PM4I', iid='B002C7481G', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3EB3MYMFLEGTT', iid='B005FYNSPK', r_ui=5.0, est=4.407476635514018, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3UOVA3B5KZEYA', iid='B004S7Q8CA', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AQAMRZMNE5269', iid='B009NHAEXE', r_ui=5.0, est=5, details={'actual_k': 2, 'was_impossible': False}),
 Prediction(uid='A3BQWEE01FV0P3', iid='B000Q8UAWY', r_ui=5.0, est=4.377906976744186, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1FL48SEW1TEFQ', iid='B004YAVF8I', r_ui=4.0, est=4.416666666666667, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1SRJEQ0T7CI52', iid='B00IF0JAYE', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A29J37YABAKFSV', iid='B004RDWVUS', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2W9IC44XLX8WR', iid='B000H866BM', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1CAQZHCWCUOFX', iid='B008DJAYJM', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1EAEB3TUTVA10', iid='B00062UW5A', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AM5JQMZC3VRQC', iid='B001OC3YB0', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3FJPX21DVU9MW', iid='B007T8S490', r_ui=5.0, est=4.16543944604705, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='A2Z9RN7XMVHP8W', iid='B002TTITJY', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A21TV9QJ5C84S1', iid='B000XPG2YK', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3E53WAY3314L6', iid='B0015F1L7A', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3A9LLRVAHU6YU', iid='B000095SB4', r_ui=4.0, est=3.580901856763926, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A277BJKLDKBA0', iid='B0048HUNSK', r_ui=3.0, est=3.9293478260869565, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A27DTUPFIJY64E', iid='B0054WF6JY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A165SAZZONY1P4', iid='B002CMLDT6', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3PVCYGXY9D6YH', iid='B000V0IE66', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AF63NGGNOV66P', iid='B000652M6Y', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1Z9F4Q7MHG4NB', iid='B0007MWE28', r_ui=5.0, est=4.273224043715847, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1WT2UHUIQ1QYO', iid='B006ZS5ATM', r_ui=5.0, est=3.837211003804507, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='A1YRQ3RE49XIJD', iid='B005E7KMH0', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3KWD2UZYBVDPT', iid='B002JQNXZC', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A28UEI1VHUKLYT', iid='B000Z80ICM', r_ui=5.0, est=4.27789046653144, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1SRCVW1XMPIL1', iid='B006JWMOOI', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1E1X6WVCBSJGF', iid='B00068U44I', r_ui=5.0, est=3.898550724637681, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AVMBJ3JBUN3L5', iid='B002QCGLHQ', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2D7IS8H534D20', iid='B004CETK8S', r_ui=5.0, est=3.0526315789473686, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3NCO8L27MEB8Q', iid='B003TFEHMU', r_ui=4.0, est=4.322097378277154, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AVUQIT7XHW9SQ', iid='B000GX484U', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1O6SEY9UFSCN6', iid='B007NE0OLG', r_ui=5.0, est=3.8208955223880596, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1P93GYNQ0GOW6', iid='B0002CPBWI', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A23WPWLYT3P1CZ', iid='B000ZCIHK8', r_ui=5.0, est=3.5, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2TNX82TU710L8', iid='B004R7A9YE', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A24UIPFVYWDI1W', iid='B001TCJI7E', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='ADW301LRS0PF7', iid='B0069KDX3Q', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3O293AKGQPBY7', iid='B004FLR2EW', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1STVQGL550ISZ', iid='B0000U19F0', r_ui=4.0, est=3.8686868686868685, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AY6WEZ75DAY69', iid='B005DF2QMC', r_ui=5.0, est=3.0825688073394497, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1VHU7KOHI4A2W', iid='B0054JE706', r_ui=5.0, est=4.122171945701357, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A13A943ZWQVT0Z', iid='B004V4IWHY', r_ui=5.0, est=1.0210407348626949, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='A1YSYP2OC3LCX3', iid='B0088TAZ2S', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AEOMTM6YZMPDW', iid='B009A4B5VA', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='ALQU9VKO6GWY4', iid='B007BJHETS', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3IMO9BL5R9E9I', iid='B004YW7WCY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AOETN803HYT4A', iid='B003ZBZ64Q', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AWBQ3B5M3GBFF', iid='B0029LDIS4', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A158GV8EBVD0WN', iid='B000855034', r_ui=4.0, est=3.6944444444444446, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A14GJVRNRLDG84', iid='0972683275', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='ACYJ8CBX52FTG', iid='B00141AYIC', r_ui=5.0, est=4.368055555555555, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1OY1E8AIH9C5H', iid='B000MSS5YS', r_ui=5.0, est=4.379032258064516, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2T3ZDO80L3HJU', iid='B000SML2BQ', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2T972BEWCGT4G', iid='B004N6259G', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A230159IRMV3U4', iid='B00DR0PDNE', r_ui=5.0, est=3.9316759388038944, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2ZM86TRINRG3S', iid='B00067TTY0', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1HKPXKW1I64CE', iid='B0087NZ31S', r_ui=3.0, est=4.5782967032967035, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3JSD4KMS08GCE', iid='B007SZ0E1K', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A30HNURJVCMJNQ', iid='B000HMLP5A', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AVS70VEY65B0O', iid='B001TCJI7E', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AB5NC44RBTRGW', iid='B006HX676K', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A4FEGFWW9SMBP', iid='B0016ORQDI', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A36UKITPW2YD45', iid='B005CPGHAA', r_ui=5.0, est=3.898429319371728, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1U9P4ZLKTOZBV', iid='B002WE6D44', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='APOLJ2XIMJ558', iid='B007H7F144', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1FL2ZNKLEHSQL', iid='B00066EK2W', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1B2Y4TFUVQZTW', iid='B0062W50OG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AL58IQ7GELQEB', iid='B007NZGPAY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3FR3CMIF7667N', iid='B005FVNHBI', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A277K1VE5J4INA', iid='B003ELVLKU', r_ui=5.0, est=4.294811320754717, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3VTM2WX2Z6SOC', iid='B004YI9NTS', r_ui=5.0, est=4.203703703703703, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3GDVC9K9KCO6T', iid='B002RWJD7A', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AOKX3J5SJFETS', iid='B0037P5CAI', r_ui=1.0, est=3.4367816091954024, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A8HOGE1E08NIQ', iid='B007T0NM2M', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2WRQ9I8FTLTB1', iid='B004MMEI6Y', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1WBI61JPEEKBU', iid='B001ENYQT8', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AEPKKAUCMIKHD', iid='B009E6R89C', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A255553LBWHJE7', iid='B000JV9LUK', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2RAE6BALIPLD', iid='B001KELVS0', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3GM0FO6FSFBZW', iid='B0042KWIIG', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3HRUBW1MNJRXB', iid='B000IM9542', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A15FVMZEFWFEP9', iid='B00825BZUY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2J0W55QF82EII', iid='B0013G8PTS', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A23XVR04S7UNPU', iid='B005B28DOM', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3C4ZX5WNB3T9C', iid='B003BWAKJA', r_ui=4.0, est=3.752906976744186, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3A6TWAX01CPWE', iid='B004M8STL8', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2O7OFWH70TOQ8', iid='B003IB51D4', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A395LXW444QLSW', iid='B000CSWCQA', r_ui=4.0, est=4.465596330275229, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2XQYNK79E6V3U', iid='B0012GDOQS', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AST4NU9OGTOUX', iid='B00BM9Q5N4', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AIM1SVBC2BWDK', iid='B005OFFH5Y', r_ui=3.0, est=4.124633431085044, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1YF1FE5SOOBVD', iid='B0002FHENE', r_ui=5.0, est=4.0, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A33BUSLWNW3NTO', iid='B0069QPC0W', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3SHE2A4QQWNSG', iid='B008R7EVE4', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1UBWKZJ4SYD06', iid='B00DR0B31U', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='ANMSI81R1GIM8', iid='B000EPRG6W', r_ui=5.0, est=4.085365853658536, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2VFC7IFFUMF0N', iid='B000FKP7TY', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AHNLV5JTNI1HL', iid='B00007FGU7', r_ui=5.0, est=3.8457142857142856, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A25YG5149S3N09', iid='B00HVLUR86', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A8CTEVGLGV57Z', iid='B0002MQGRM', r_ui=5.0, est=3.9318181818181817, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2M2GBFJ70HBAV', iid='B0000A98AC', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3EAULBGJGI5CZ', iid='B005LJQMZC', r_ui=5.0, est=4.797687861271676, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A9QBZ7DXWWXNX', iid='B00067TTY0', r_ui=5.0, est=3.634831460674157, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3SCV6FML8MLMS', iid='B003ELYQGG', r_ui=4.0, est=4.695863061632192, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='A2N1XC34447REG', iid='B003U8GHVK', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3GIGPAGTLU7KU', iid='B0044YU60M', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1POZVI9ZE0A5T', iid='B004SO876S', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AOSCK4K3EMP67', iid='B0089E5R0W', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3GHKNQECBOFGI', iid='B004U9USEA', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1186B0JY1XSRO', iid='B0012V3D3C', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2BHFXT8CDNOVR', iid='B0044YU60M', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A84N6LWHDLHN0', iid='B000F8LQ0A', r_ui=5.0, est=4.301369863013699, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A15YTLHSYH0C8D', iid='B004T4P4XG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3H7BSZRBS4NSF', iid='B003ELYQGG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3NG9JYW9QW5EL', iid='B005Z3GINK', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AJES485KARIKQ', iid='B0034XRDUA', r_ui=4.0, est=4.139949109414759, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='ADX3RX1R5KADF', iid='B001Q6TZ5S', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2XOJRK94D3ULP', iid='B008VYRITI', r_ui=5.0, est=3.717948717948718, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A23PXRQLR0XOLZ', iid='B00E6LJ1RW', r_ui=5.0, est=4.046875, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1MY92SB4P31Y9', iid='B00155RGYM', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1VGBUI2G7T3L7', iid='B003ZBZ64Q', r_ui=5.0, est=5, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='A2DJOBC8UJOZYJ', iid='B00F2GMUPU', r_ui=1.0, est=4.117647058823529, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3EPU4I75W41X8', iid='B00DTZYHX4', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AQV7UATBVGHR9', iid='B002LITT3S', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1R0QNHP1CPJTY', iid='B005DIBHA6', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1AMEDWVAPMK0M', iid='B00007EDM8', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='ARHRESNV7BGL8', iid='B0040RDT0M', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AZXQ9HFT8OQZ9', iid='B002VPE1WK', r_ui=5.0, est=5, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='AGGU8GVB24L6C', iid='B009NB8WR0', r_ui=5.0, est=4.841365461847389, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AALC7HEIND9ZS', iid='B001NIZB5M', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2L41RTL05I404', iid='B00125Y0NU', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2VGVXSMKXXAYE', iid='B00005K47X', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3PAQOLZQWN91R', iid='B008GVETNE', r_ui=5.0, est=3.76271186440678, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2UQ56FXFYO2Q4', iid='B00091S0WA', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A13OH3NNMK13TV', iid='B001OC5JM2', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AP2I1MX45Y0X3', iid='B003YUEF0E', r_ui=5.0, est=4.003875968992248, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AQGRXEW317LCQ', iid='B005HMUSOO', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1A21XP7O3B9ED', iid='B0039237H4', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A39CYS0CW7P2DQ', iid='B009A5204K', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A23J4GYFN051HL', iid='B000246ST6', r_ui=3.0, est=4.346666666666667, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A20JKYOKYGCQR2', iid='B0009W9WHQ', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1DXNUG22BGT0I', iid='B005CLPP84', r_ui=3.0, est=4.011904761904762, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2UOXHJLA56B60', iid='B005B9G79I', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A25ECXGQRH410I', iid='B002K42W50', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2BWH9PQUNOREU', iid='B000E8X5Z0', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A06005492AR4M57WJAEA3', iid='B009UEAZ84', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='APTVO172T0Z50', iid='B002QCIHSM', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2ER2UD0B08XTI', iid='B0007N55OQ', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3DTPTIB2SSF30', iid='B00BEJDGOS', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3PV6RXYQQ44BG', iid='B0052YFYFK', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2MG6RTCM2RHUN', iid='B004VS2ZRS', r_ui=5.0, est=4.745098039215686, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A10ELSN4E006KE', iid='B004T9RR7C', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3FBOIK27P0FXT', iid='B004CQGAYS', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AK26CXY9L4VCX', iid='B0093W2W7U', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3L552XCXXM1K8', iid='B0035J7XG2', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2EU9Q8VQDOB83', iid='B007PRHNHO', r_ui=5.0, est=4.394736842105263, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AWQE0B9K249DZ', iid='B004KCI80I', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A19NJSWWKJ85UV', iid='B0002L5R78', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3FS1OZTXOR9V', iid='B003L137Y6', r_ui=5.0, est=4.394736842105263, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2569UDXMJMWQQ', iid='B006ZP8UOW', r_ui=2.0, est=4.068436578171092, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1WFCNCQGLOC8U', iid='B00BP5N3BM', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A10ZO8KM9MDFGK', iid='B005LU2Z2A', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1WCAM3PBALYOO', iid='B0015A8Y5M', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A30FLJDFNPDWWK', iid='B00383PB0U', r_ui=4.0, est=4.008928571428571, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A18FP8I8HNOOGY', iid='B002DPUUKK', r_ui=4.0, est=4.154657293497364, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AZLQCYF3OZIXZ', iid='B0014YZH9A', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3T7P8PZ88NDN1', iid='B0007MWE1E', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A4SP4CJMUAADV', iid='B000X1TS54', r_ui=5.0, est=4.5524475524475525, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A6TW412I6RWID', iid='B0069KDX3Q', r_ui=5.0, est=4.089743589743589, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3CH80ATN6EA9O', iid='B004U78628', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3JW1OS7H6083A', iid='B004N6259G', r_ui=1.0, est=3.354679802955665, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3KSPMD210TJPU', iid='B0007XHLXO', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A31WCECVHAWZKR', iid='B002GU5XKE', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2U63PEM4JISQP', iid='B001JT5G4G', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A9YRIRRX1MRL0', iid='B0031GGQC6', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A4U51BJG6J6QX', iid='B004SPVZKW', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1K518P8PJBCNN', iid='B007R5YDYA', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2W3EXXB62833U', iid='B009LTUB9G', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2U9FCUKJNP3KP', iid='B00007KDVK', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A20Z0K5NG6W8Z7', iid='B0015C30J0', r_ui=4.0, est=3.581699346405229, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3EP2EI4WCSUR6', iid='B00008Z1PT', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A192TCJEPB1M3G', iid='B006JW6IHC', r_ui=5.0, est=4.239130434782608, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AZTAFRBEOMJCV', iid='B004SD1ZPY', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AF0DX777XKWMW', iid='B001PIBE8I', r_ui=2.0, est=4.12664907651715, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1OYBPZ0WMTRPZ', iid='B009B0MYLS', r_ui=4.0, est=4.180722891566265, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1Z1Q8E9AVUQOY', iid='B000093UDQ', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='APERHCIM27CNX', iid='B00366KE3I', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A107NEKX2FMHQJ', iid='B000QHOB4S', r_ui=4.0, est=3.313953488372093, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3QQ5JW9RNL4Q', iid='B006QOLYPO', r_ui=5.0, est=3.788273615635179, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2YYE3RMGH17FG', iid='B00BI9X7UC', r_ui=5.0, est=4.593103448275862, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2NQ1MNUYUTRAP', iid='B008E0Q0C0', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A21PCKXJROROQT', iid='B008WJAFPG', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1EMLD3XDQA8RX', iid='B005FA38SG', r_ui=5.0, est=4.6, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AAAJYR28MWV4D', iid='B005SZISDI', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A4P3JGAM5WSI3', iid='B002PU9PY0', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2K6T8NKU59PVO', iid='B008OHRJ32', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A33UGM6ECDHH49', iid='B002TLTGM6', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2NJCVDI8W1T03', iid='B002MU1ZRS', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2X3ZSPAADO7P1', iid='B005LFT3GG', r_ui=4.0, est=4.68641975308642, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2QPZ4Y6WTKMO4', iid='B005OEIY8W', r_ui=5.0, est=2.7419354838709675, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3QW5EY4VV3KR2', iid='B00ARAHA5G', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A4RXM7ESJPNG6', iid='B0013FRNKG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1EHID2XTXHVZ9', iid='B002U242WI', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AKXBF1EU5KAEU', iid='B001CBLN7K', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1DFWZD85JM89O', iid='B0076POB8O', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1YB53P24NMAGU', iid='B0002AHS12', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1HYIQ3F8L0ETF', iid='B002XKNXJU', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1W2DKEAR4GC7P', iid='B00GA55OGE', r_ui=3.0, est=4.030769230769231, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3RZ3PXOHNYC8S', iid='1400532655', r_ui=1.0, est=3.710691823899371, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1391HFHIDES7Y', iid='B001KC08A4', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3AB8VAUQY88VP', iid='B004HHICKC', r_ui=5.0, est=4.3700787401574805, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3EFPEKGAN7H9Q', iid='B002MAPRYU', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3DOM0TS7ZFV4O', iid='B001MRYT3E', r_ui=5.0, est=3.5306122448979593, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3AANUGV2YN5Q1', iid='B00BY3XN7E', r_ui=5.0, est=4.469565217391304, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='A1EOZ3CZY0DFEL', iid='B002WE4HE2', r_ui=5.0, est=4.270522388059701, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AY1HMG4ELFPRG', iid='B0012N0ZAY', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='ATGHVTJBHXYQJ', iid='B008ISKDL2', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3R3MYYFMC82Y6', iid='B002XJN5B2', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A21POGA2CAZOJV', iid='B001PBYQHG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3CBMP8NA22399', iid='B0082YEH8M', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A257965625IJAQ', iid='B007IIT8KU', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2DD4WOZK12C5R', iid='B002FU6KF2', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1WA52TE59QCX8', iid='B009IBXECS', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3Q1JSVWD1P2DU', iid='B005DIBHA6', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3GVZ4AEHBLBU4', iid='B008GVM9K4', r_ui=5.0, est=3.1724683544303796, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='ACD4T0BFS9G3O', iid='B005O74J7O', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A236H3QQ015FKK', iid='B00009UHXR', r_ui=1.0, est=3.431578947368421, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A34SZVBNH40CEW', iid='B00A3VFIM6', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AM44MQX78IGF', iid='B00007KDVI', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A378ZJ71K4UV4', iid='B0062CBCGG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A16WB9AVK6JA8L', iid='B0002LEMWE', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2ZYEC5HRBV36J', iid='B00A9LHLQ6', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AYNT0NBINU67T', iid='B001IWOBLI', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AVIM7UY9CCOMR', iid='B00006B9CR', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AQ8VXR3VDVO28', iid='B002BS5YAA', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A18I765PKR33JO', iid='B0096TK65A', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3FU3YPT50TL10', iid='B003LR7ME6', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A4OJDRJU6OZN3', iid='B005DOK8NW', r_ui=3.0, est=4.31223371880706, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AKQRKP2OQ8ZHL', iid='B007KTY4A6', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2OU3I3GC0NZO3', iid='B004PYD950', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1IM5K9PNJ7ECS', iid='B003DZ165W', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3LHNK6P7G7LZT', iid='B0030F27EO', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2N4FL8OXGG7EU', iid='B00CREHS9S', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1CGFGAKEHRAK7', iid='B002M3SHXA', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3UTIL6ZDI6Z69', iid='B0082BZY4G', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3T5PUCR8ZCYS0', iid='B00GPH6T8E', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AUHGS047PW0UU', iid='B0049SCB2Y', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1HS1SB4GX60XX', iid='B00CD8ADKO', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1DLJ45FFFZ3K2', iid='B000095SB4', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2575ZKPEBUFXL', iid='B002M3SO1U', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A37FX3IXLURMYO', iid='B000XO2S9Y', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AVS1AX1R82F2L', iid='B005FRCUHY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3VEOAUBLBY4TN', iid='B007L8ZAWC', r_ui=5.0, est=4.51948051948052, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2L5DDP7T5A7EY', iid='B00004SB92', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AL8F50VS641BN', iid='B000OLDG60', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A12179WVVJPFV2', iid='B008K47ODY', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AT7M4SRA5U247', iid='B0025VZFIO', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1STT23Y1NESY1', iid='B004TIIBMS', r_ui=4.0, est=3.834710743801653, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1G1LUON502D9N', iid='B003FVJYF8', r_ui=5.0, est=5, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='A2EWYHG4VE8NMZ', iid='B00AN5PUSE', r_ui=5.0, est=4.6976744186046515, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2OU9LISV45EL4', iid='B000BY52NK', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1J8E14ESQRDHA', iid='B0007NIJBC', r_ui=5.0, est=4.0754716981132075, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1TQZUSOU22E9M', iid='B004Y1AYAC', r_ui=5.0, est=4.851063829787234, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3D1PU4RUNM62U', iid='B007R3Z44U', r_ui=5.0, est=4.444444444444445, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AMTGNHQQATGS', iid='B009YZ92OM', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1942QPXGC2FOM', iid='B009NB8WR0', r_ui=4.0, est=4.841365461847389, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A7RK7Y9CPHZX6', iid='B00E98O7GC', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3H5OBVEMPKUW7', iid='B000FIH0ZA', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3H9RTXHQ5H4UT', iid='B002J9HBIO', r_ui=5.0, est=4.534682080924855, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2FIMJM68DPYAW', iid='B003ES5ZUU', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1IR92014735XZ', iid='B0000AQIFZ', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3MRH6WOO49819', iid='B004GW25WY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A7B9JUULZHQIN', iid='B00DR0PDNE', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1VO7HA1MQY8SU', iid='B000QUUFRW', r_ui=5.0, est=4.684752747252747, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A39QHW3UJHL0VF', iid='B005DJ8VOU', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1DIF0G7ZQVB8H', iid='B007Y2YVH0', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3JE30X3M8SU44', iid='B0001FTVEK', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2VZ2GL0FOFPJS', iid='B008MB70TI', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2OYVMKAUYJJTE', iid='B000FVGM38', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2C6PVGJI7ND8S', iid='B005PSLFGA', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2EPTNOIG6OTOJ', iid='B000MVBV2S', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3S7W9UNOYD1N1', iid='B00BGA9WK2', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A33BH1684VYQO1', iid='B000P8X65S', r_ui=5.0, est=4.270588235294118, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2K616ZTTGBH1X', iid='B0039BPG4M', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1CLLP81YOE6VP', iid='B00C2HQWYW', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3HLPY55LGYHSQ', iid='B000I661J0', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AMOVUEGTQMGJX', iid='B006DEBYWU', r_ui=4.0, est=3.642857142857143, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2UBHX953466YR', iid='B007003J2E', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2JK2KU52JSMYR', iid='B00BGA9WK2', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1DCB6W297V30D', iid='B008NENG1A', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A35QQQPGGDO54', iid='B0012Y6HC8', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A17P9RAONFD7VW', iid='B004YIFODW', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2ORRTZTVCUPG0', iid='B0002L5R78', r_ui=5.0, est=4.426914861153494, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A20MYQH9P8AQPZ', iid='B0062IPIPQ', r_ui=5.0, est=4.503765060240964, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A86F35DTMFYB', iid='B002S4027C', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A10WWIV4IBEO5K', iid='B008DBI5RI', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='ADWHIPMUTUSQC', iid='B008MW6Y12', r_ui=5.0, est=4.113793103448276, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1745A0MX805CT', iid='B0053NBLFW', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AP71V5R90ZBTO', iid='B00622AG6S', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1OJRXN7J7SJLC', iid='B005H3AU1Y', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AWAV9TGXRIXI', iid='B000053HH5', r_ui=5.0, est=4.8828125, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2ZPE88GBZLXE9', iid='B004MR6IO4', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3UOX7L4K7FQST', iid='B0062IPIPQ', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2PF86SHHNSM13', iid='B0001H29OW', r_ui=4.0, est=4.158536585365853, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1KMX5Y8FDO16Q', iid='B004HM0PYI', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2I2FQXPBXM4P7', iid='B000TT80DG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2L4F3OG1SI1E8', iid='B0041OYTJE', r_ui=1.0, est=4.898089171974522, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2FQWURPKNUFO4', iid='B00F9FCW7K', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AYKSP7J4YTN07', iid='B00BWF5U0M', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A29UTKLAFGIP89', iid='B005NHTG6O', r_ui=5.0, est=4.057971014492754, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3LI9Y3RIETF54', iid='B006G4SRXQ', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A29PX8BALRYO77', iid='B005X1Y7I2', r_ui=5.0, est=4.493871665465033, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A323YAGIIRSA3Y', iid='B0002QPC28', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2I3U3QKJ70OBP', iid='B000V9NU2A', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2MZ2HG15O3JM6', iid='B000JV9NL2', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AHF5O8BGU2Q0Q', iid='B0097BEDOC', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A275AEAMR6DPM8', iid='B003U8CRGY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A38DUQDBZUA25J', iid='B0036RH93K', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3CAO8W4KSNJM8', iid='B000V7AF8E', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2BAIAKMB2IBG8', iid='B0011YAOBE', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3PE9GL8IQXZOP', iid='B001UI2FPE', r_ui=5.0, est=4.344165435745938, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A20XSGS08L6Z7B', iid='B00FEE7B1I', r_ui=4.0, est=4.013774104683195, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1GVMP4A9W254Q', iid='B002YPSKFQ', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2HNLLSCH71ZU2', iid='B001EBE1LI', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3Q0KXX07FX1KS', iid='B006ZP8UOW', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A259ZH6BYEOB68', iid='B004Z4FBE2', r_ui=5.0, est=4.696113074204947, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AZDJN0CVUU0YN', iid='B002MAPSQM', r_ui=5.0, est=3.8710801393728222, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2QJS7W68H3S0H', iid='B0007MXZB2', r_ui=2.0, est=3.7876344086021505, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2I8O43L5EVF5U', iid='B001FWBUUG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3JJO60MHSX3PG', iid='B009C3M7H0', r_ui=5.0, est=4.359154929577465, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A19LCHJKWV6F7Q', iid='B005IVUWHW', r_ui=4.0, est=4.1502890173410405, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1I7B5W0NN3RFW', iid='B004WI1SO8', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A11U1U6JYQ97YG', iid='B005OGQXJW', r_ui=3.0, est=4.283950617283951, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A182BL642WB691', iid='B004RDWVUS', r_ui=4.0, est=4.130876747141042, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AUYABKH7KVCH9', iid='B009USAJCC', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1NVGCQVAQN6CB', iid='B003XM73P2', r_ui=5.0, est=5, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='A1ZN302O0FZJQH', iid='B008AST7R6', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2A9GOZ22B1O72', iid='B00B6ZCNGM', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1M3H3W6187YLM', iid='B0036R9XRU', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2OYFTWRPU8D9V', iid='B00CD8ADKO', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2JP9E1H0SF392', iid='B003Y5FRNS', r_ui=5.0, est=4.414634146341464, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A163OXIRKX6R85', iid='B005X1Y7I2', r_ui=5.0, est=4.493871665465033, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2X1Z0E982Q7DP', iid='B007JPCL88', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3CEAC4QMNS16G', iid='B004NBL9WK', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='ARY41Y2RQCXJR', iid='B008AHTO20', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AK6LSGK8Y52BM', iid='B001VFMA5Q', r_ui=5.0, est=3.5675675675675675, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2J2M7B01UEAUA', iid='B0018O9JIG', r_ui=4.0, est=4.03960396039604, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AU3FRR5AD9ANF', iid='B00DR0B7Y8', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A9D8H9B7W9POG', iid='B006ZC5PDE', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2UM8MMJRJ0H1K', iid='B007R5YDYA', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2U5BEUL5JIHSI', iid='B0007RV3IE', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='ACHCA25Z2290D', iid='B009EIUH6G', r_ui=4.0, est=3.5705521472392636, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3J310AS39P0HU', iid='B0001XGQTA', r_ui=5.0, est=4.75, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AZU20HSA5G7ZK', iid='B00829THO6', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1DBL5QFDQ5ZY4', iid='B003VAHYTG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2U2ARRTD32YVW', iid='B009VPBLCG', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2R60HW61H86YB', iid='B00007FGU7', r_ui=5.0, est=3.8457142857142856, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1CM4F49A7ZWK9', iid='B0001DHHIY', r_ui=5.0, est=3.4571428571428573, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2L86JOBL6T23W', iid='B006IHRNUY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AX83T6WZG9WBC', iid='B0062EGCWS', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1RTOQJFOB3DWO', iid='B00CPGYNV4', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A5LR0ZGQ4JIPP', iid='B000ENUCR4', r_ui=5.0, est=4.5607476635514015, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A25UD75MSUX1GE', iid='B003ZUIHY8', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2J16666J9C2ME', iid='B000NMKHW6', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1QRZGACVMZZ7', iid='B007WTAJTO', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A34BSET0RL55ON', iid='B003X7TRWE', r_ui=5.0, est=4.65945945945946, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3E4HOJSG75MJ8', iid='B004M18O60', r_ui=4.0, est=4.430555555555555, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A33HMJ0YRFYGKR', iid='B009YQO2QY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A7C1YXPWSCBJC', iid='B00HQZGZ38', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AOI2MD752ZWFU', iid='B000V1MLBE', r_ui=2.0, est=4.090909090909091, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3FOAST4P969UE', iid='B001413DWQ', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A37P1LB4IERD8', iid='B001078FV8', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2U3SF7NFDNV6S', iid='B00267GDM4', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1S0MXBMZOMTHV', iid='B009X3UW2G', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1UMN04FQ6H32D', iid='B001ENW61I', r_ui=5.0, est=4.72, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1TTI6ZKYEKL4S', iid='B00DR0PDNE', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A36BNK6AFG6M7T', iid='B001G5ZTPY', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='ADGYSBUDGB6MK', iid='B000BUDHNQ', r_ui=5.0, est=3.1204819277108435, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2S3GPXLJ7PAZ7', iid='B00E3W15P0', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3O6IY6NPYROM8', iid='B001DPHRWK', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A631D44AMX0KX', iid='B008AST7R6', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3GE5ALWE80KJO', iid='B003Y89O6G', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A188WVW3QKD5ZH', iid='B004V4IWHY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1NW7KA2GRANH8', iid='B009BVDV5A', r_ui=5.0, est=4.1946902654867255, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2SBUV5E8KDNAD', iid='B004T0EQP2', r_ui=4.0, est=4.085365853658536, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3L6SWC252WXCU', iid='B000VG802I', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2F896CJC33F5L', iid='B0091JMYWI', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AE1CFU70EVKP0', iid='B002V5OYHC', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2AKBSM3TDZZZ9', iid='B005LT05Q4', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A15J0T6HSPLLAJ', iid='B0068RKK18', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3CFYIKO9J8IMC', iid='B0042F3K9W', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2PYEOWMJZXFB8', iid='B00FJDUPX0', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1J488HX933083', iid='B004AB35NY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1MCIWL1JBJFBZ', iid='B0080JQY4E', r_ui=3.0, est=4.122186495176849, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AT37V0PXTBI90', iid='B0040QE98O', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2IJ4TB3NZRSX7', iid='B00EHDZMFO', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AS475W2JIU7QK', iid='B004RKQM8I', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1ZAOFRDK49K0R', iid='B002SXMRO4', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3P50Y0TSZTZ1W', iid='B00A83I8G2', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='ACGTYE5R2EXVF', iid='B002U1ZBG0', r_ui=5.0, est=4.2025316455696204, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2KN72IHD44309', iid='B004SY5O5K', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3JWTK3K0KSN7K', iid='B001MSU1HG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1Z2G07XIWC6F1', iid='B0081ZDW9M', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3KGEAII4OJZW0', iid='B001TH7GUU', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3HQ2AURERE24K', iid='B003KE3SJI', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1IC8CBHVVPV69', iid='B004NQU4YY', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A261DBYQZ9N06P', iid='B005ONMDYE', r_ui=3.0, est=4.311446317657498, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A13YLUCOIXFSM0', iid='B000A3WS16', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A32Q7ZUM4IVHQI', iid='B00825BZUY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3ODJHJIN3XQ6Z', iid='B002BH3I9U', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2K00BBGX43Z7T', iid='B001TUYTZM', r_ui=5.0, est=4.527638190954774, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A367BZ4CBH2MVG', iid='B000Q30420', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1FP2IPTAGDRNG', iid='B00006IS4X', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2WTASNUT4JU17', iid='B00DR0PDNE', r_ui=5.0, est=3.9316759388038944, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3APVI40KC7IZQ', iid='B007WTAJTO', r_ui=5.0, est=4.4347650736035495, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A24FFEMVWE3CWY', iid='B004Z0S6RU', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3HSPDS6SL432X', iid='B004PYD8T2', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1AH8033GWKBY7', iid='B0009WG6KM', r_ui=5.0, est=4.28, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2GF2QL63PASS2', iid='B000WL6YY8', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3IH80S7R1XX1V', iid='B0003QIXBY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A30I7ZXNQFD1D7', iid='B002HWRJBM', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3PO98UPGQL5PL', iid='B00198DM2K', r_ui=3.0, est=3.84375, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3IJHM9D899OBJ', iid='B00F4THD5C', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A38LG1N45IDTP4', iid='B000Q8UAWY', r_ui=5.0, est=4.377906976744186, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A35HZOWR4VHR53', iid='B005DOK8NW', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2B32KLD71XG0E', iid='B002PV3UO0', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1D9UUK5W5NZE6', iid='B001EBE1LI', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3MQVKFLSQWZ7W', iid='B00GDG1KGS', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A19A2458IBGTTU', iid='B0040VNDKO', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AY5XAUDY5W0RQ', iid='B0062CBCGG', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AA8JU3DM3YBRL', iid='B00GX9A06Q', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A9BTU2YA61CGP', iid='B008467K1E', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A155W3VBNMFEN0', iid='B001MXLD4G', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3CF5X3FR6BVAU', iid='B008D2POAS', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1U8RX3DEAL9NG', iid='B001G5ZTN6', r_ui=4.0, est=4.148148148148148, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1CHWCDYCXEXXW', iid='B0027FGW3K', r_ui=2.0, est=3.488469601677149, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1SA4XG0YOEVWB', iid='B000NVLQ72', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A30LAVLDNH4JR0', iid='B009YQ8BTI', r_ui=4.0, est=4.411764705882353, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3OPOMSWNLJBYV', iid='B007PJ4Q4A', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1HUVSIE9Z4JZ6', iid='B000UMRWCC', r_ui=5.0, est=4.0625, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A53CELEH3AKBT', iid='B009WU5XUG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2LVDAGMOSX9IN', iid='B002BZFSYA', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1YB7NLMW9GE1Q', iid='B00C9W27RQ', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3MGED5UBGQVK9', iid='B003SGCO3E', r_ui=5.0, est=4.466230936819172, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AQ23GMD7K0O6U', iid='B004B8GF7Y', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AZ0V7815OWZ8K', iid='B001S2R8E0', r_ui=5.0, est=4.142857142857143, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3B0J37QKPXDL3', iid='B005U7O0YU', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3D8DPXQIF4ABN', iid='B004RRU2U0', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A259LS0FXWW8CV', iid='B00006B7RK', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AZ6Q1SGQFACK6', iid='B005450ZUG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A172I2IVK25NV6', iid='B004NY9UV4', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3AXW3V7YBRKCE', iid='B00001P4XA', r_ui=5.0, est=3.810344827586207, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A18Z1QAZH50XXN', iid='B008VYRITI', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1WM41FIKBQ3P5', iid='B002DHYKVS', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A157ILAOH3XJ3', iid='B001HF6OFW', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1BIFA9JDF7S2Y', iid='B000R9AAJA', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AI5VYGQQT5OCE', iid='B0057OCDQS', r_ui=5.0, est=4.210332103321033, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1333MI3WMZO7Q', iid='B007JCMDA2', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2KJ77NX33PL1O', iid='B002V15YES', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1EYF6QHWRMAV4', iid='B00007E7JU', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AL3TZ2Q9B4ZH9', iid='B006GWO5WK', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A26GPTQJELAIJF', iid='B005DKZTMG', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2UN32FSVUO43U', iid='B0001F22PA', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3JXA9D01HFC3O', iid='B003B20F5E', r_ui=5.0, est=3.1346153846153846, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A215WK1J5FG33M', iid='B009UZBLSG', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2B4AJ3C4CW8N4', iid='B0014OE08E', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A355091D0MRS8E', iid='B008CS5QTW', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3PXANZ9DQXVIT', iid='B007WTAJTO', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A29BUEGVFEKPJQ', iid='B000F9YN22', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1LT79Q2BZTKBG', iid='B00AGABISW', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AI269KLFTU1K6', iid='B000JV9LUK', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3H25MENW4468B', iid='B00DTGG27M', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1OSCVO54AUX4J', iid='B00068YUN4', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2IZQLWTQ67X21', iid='B001ELJO2E', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1DND538X22O6Q', iid='B004WO8HQ4', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3SNPIY0112V7Z', iid='B003STVG80', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A22QSVHSI6BSG8', iid='B009D79VH4', r_ui=5.0, est=4.576576576576577, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2MBU5QVEYXHN2', iid='B005HY4UG4', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1C5PKRAR0XP62', iid='B00728ZBA2', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A16JVX4D0OG2KY', iid='B005QX7KYU', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A8X79N594AV9V', iid='B007R5YDYA', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2WRL0D0STPJQV', iid='B0015F0A8G', r_ui=5.0, est=4.25, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3G62XLXTCSRFA', iid='B00ESYNN80', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1WJTPN4F2ENJG', iid='B000SE6IV8', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A22QSM5X5UHKGC', iid='B000WL0I1I', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A21SHJ7GREKQPF', iid='B0014175NE', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1FRGP1XHWBAEK', iid='B004VF4D9E', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2NF3G1I4WOPVD', iid='B0034WR19Y', r_ui=5.0, est=3.9, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AQFDZ49YK0NJH', iid='B005755U0I', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='ACHNZY4ETGAXT', iid='B008Z2661W', r_ui=2.0, est=3.137546468401487, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1W84YQ9ZIP7QA', iid='B006W8U2MU', r_ui=5.0, est=4.476038338658147, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1ZSEEIAR6VH3Z', iid='B000FIH0ZA', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A21I62TCDL4754', iid='B002NO7PWC', r_ui=5.0, est=4.618181818181818, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3PC5F9ICAH3Y3', iid='B006EWUO22', r_ui=5.0, est=4.73469387755102, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3Q2T1QNHHRK8Q', iid='B001T6O0ZK', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AWQYOJJAZ1TBB', iid='B009JRMBVG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A36YR4QQ110B1M', iid='B006NGHN5A', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2MH7JYULA7OMJ', iid='B0013LWK3A', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2FKI8VSSKJ2EM', iid='B004NBL9WK', r_ui=4.0, est=4.253405994550409, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1GX0RFRS0GWRA', iid='B0038OLL2Q', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AQ49O1C3R9DMV', iid='B00006412G', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2PLXALTV2YZP5', iid='B008292ZWM', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A7ME7PAJJ6LSA', iid='B0000E658Q', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1LT1YU15JD635', iid='B000GIT002', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A54XSIE2AVE2O', iid='B0062IPIPQ', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AMX64FWN1TVS', iid='B00DR0PDNE', r_ui=5.0, est=3.9316759388038944, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='ATUBT9O1KE51Y', iid='B001MYASTG', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3AIYCREKRCLBW', iid='B00FYEP0TI', r_ui=5.0, est=4.333333333333333, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3OI2MAEPA4Z25', iid='B005I6DUYE', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3DB5NAE04LY7U', iid='B00AGABISW', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2WBE5G4CMRCS5', iid='B006ZP8UOW', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1ZWKX2XRUHGYO', iid='B000068O3T', r_ui=2.0, est=3.8354430379746836, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AJSJOJWW8PTGR', iid='B005T3GPXO', r_ui=4.0, est=4.585714285714285, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3S66REXBGOPNZ', iid='B0053QW61M', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1FNFEFHQ8KFZH', iid='B005OFFH5Y', r_ui=5.0, est=4.124633431085044, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1H8ZQY3GHH1GA', iid='B005KDYBIO', r_ui=5.0, est=4.342151675485009, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AGXZU82EXKL1C', iid='B002IPHA1W', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='ANMHTITF9ZF3O', iid='B00336G7MI', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2BZ0HP8FAT3M9', iid='B000H6CBA4', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A294UK0ZAXHKHA', iid='B004K4V7V8', r_ui=5.0, est=4.608695652173913, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A15UGQJPRM2UTB', iid='B002A6H72Q', r_ui=5.0, est=4.6477272727272725, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A209DUAGIIZQUE', iid='B001Q6DQT4', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A16GEPDQD1OOXF', iid='B0011ZK6ZM', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3GEN7YR4PGQYJ', iid='B002VPE1WK', r_ui=4.0, est=4.511494252873563, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A10Z12GG4QRHH0', iid='B002V88HFE', r_ui=5.0, est=4.665230769230769, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AH6ZUPCVWY3AR', iid='B00DTGG27M', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3JCMZ7LDNGX2X', iid='B00316263Y', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3RVC7V0BD0FFG', iid='B000IJV4BC', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3OEJIRT1R7N4L', iid='B0007VPFI4', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2YIUABT33VEX9', iid='B005HSG3JC', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A8UDJR6OGVND5', iid='B008GVOVK0', r_ui=1.0, est=3.684848484848485, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3HGS6CVMKEONO', iid='B004QK7HI8', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A21GS7CSYL3W7V', iid='B00HRO3IBA', r_ui=5.0, est=4.378048780487805, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A97NT2RTKGLZM', iid='B005VFG06W', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2271B9FZAKCIC', iid='B005JE3VYY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1MCN15MA89H1Z', iid='B001ELK2NY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3RXCJEHRGA6O9', iid='B004I5BUSO', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A38BUEXQR3ERCX', iid='B00000JI4F', r_ui=4.0, est=4.112, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3KQYC7ITC8YJY', iid='B001S2RCWI', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A165TGRCMVIGDY', iid='B0027VT6V4', r_ui=1.0, est=4.249544626593807, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2G1XB2EFH0U8H', iid='B004SO876S', r_ui=5.0, est=4.384615384615385, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3LSZTAUQ4D8HF', iid='B0000DCRHA', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1TWNHE6KTEKCZ', iid='B0040FHB6C', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3OO3LXZ7IPXPV', iid='B000067SPP', r_ui=5.0, est=4.735294117647059, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2Q0B3IH6JTHRK', iid='B000MBUSD6', r_ui=5.0, est=4.186274509803922, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2CSGDZQLXKU1F', iid='B004YADU4A', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1SUENQ1RFVQ4F', iid='B000092YPR', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A18RNU8SO7IUP1', iid='B000F7857S', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AA6CY9FRXL4ZL', iid='B005H476S8', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A259KJ1G5VHEAL', iid='B00B59NX54', r_ui=4.0, est=4.3, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3E2LKLQRCXV2Z', iid='B00DIFIM36', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A27WB16A1UJ1P1', iid='B00CGW74YU', r_ui=5.0, est=4.668269230769231, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1593KN5PAA4V8', iid='B007O5ATC8', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3E7NVLRKEGIDH', iid='B006C2GNDS', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AZJ4V2EVSLG27', iid='B005HMO6A6', r_ui=4.0, est=3.750331586975263, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='A2OWKKF8ISFYX7', iid='B000HPV3RW', r_ui=5.0, est=4.495934959349594, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AT3KZTVW9DY8F', iid='B002V123VA', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A68ZQYO0VTSUW', iid='B00BUCLVZU', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2T60N64FXRD8C', iid='B0000633EO', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3NNROLI1CZ7RB', iid='B008THTWIW', r_ui=5.0, est=4.2718696397941684, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2LYSWAT8VCIFF', iid='B00475K64E', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A14MCAGSOXXVTE', iid='B003Y2KC7W', r_ui=5.0, est=4.620689655172414, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2VTZ8R19ZPSR9', iid='B0029L047W', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2M4PQPBV45U71', iid='B00D7LN7K4', r_ui=4.0, est=3.510204081632653, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A6WUA3EBF9OPE', iid='B000TXZIDM', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1CKC9RMTVSI0Q', iid='B000V0ETA6', r_ui=1.0, est=3.9158415841584158, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2BT9DB1R0D0C4', iid='B005HSG31K', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='APMSPDUII1W2R', iid='B000EYRLXQ', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AF5WDPCC5BDS8', iid='B0015DYMVO', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A38LPM6OXYR0YN', iid='B003ELYQGG', r_ui=5.0, est=4.3935960591133005, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AI8P6JGSPFKA6', iid='B0096T2N3I', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2T69PU0IU60RS', iid='B003BYRGJU', r_ui=5.0, est=4.595673876871881, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1MVSX9232K1XQ', iid='B000053HC5', r_ui=5.0, est=5, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1B2GRM59O0SST', iid='B000WYVBR0', r_ui=5.0, est=4.576358930112166, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AYRC2UXWJQWCP', iid='B0045XX12C', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1TDOQ3SHYSGP5', iid='B001R4BBL0', r_ui=5.0, est=4.482352941176471, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2HJS7YX5S75BP', iid='B004PGM9PO', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3KG0OIIADGVUI', iid='B00BGA9WK2', r_ui=5.0, est=4.08501872659176, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2H216GP29A9Q4', iid='B004RKQMCY', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A21H4RPUPMZLWV', iid='B009YGGKXC', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A66YTJ2BRC8IP', iid='B0068MSGZA', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='ATX44LVZL5JFV', iid='B00A8OWALU', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AGFFCFKJ1Z5AZ', iid='B007I5JT4S', r_ui=5.0, est=4.4017363851618, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A189F3ACX8NUB6', iid='B004QGXWSQ', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AENQQGTP9GKOX', iid='B007T8S490', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A5WT86KNY6ZCG', iid='B0012S4APK', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AWUZM5SAHTO0Z', iid='B0002EQU6C', r_ui=5.0, est=4.704918032786885, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1TIIA48PW1IT0', iid='B000NJH592', r_ui=4.0, est=4.619718309859155, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AL8K7SWTLZ12X', iid='B00012F7G4', r_ui=5.0, est=4.1, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2QCHWZRIOFLC', iid='B0014Z29OU', r_ui=4.0, est=4.369918699186992, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3AJD9UO57M4CO', iid='B000H6AY6M', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2GEC08PV3L59S', iid='B000J6FWT4', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A20H1M28WLI9J2', iid='B001Q3MA80', r_ui=5.0, est=4.348837209302325, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1H9OL9MT5OS28', iid='B000HZGQ9C', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1B9GMSUWE6QVT', iid='B003RRY8ZG', r_ui=5.0, est=3.6956521739130435, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2544M9YI3ENCR', iid='B008R7EVE4', r_ui=5.0, est=4.4345403899721445, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A307JY9YZ5GFZE', iid='B00005NIMJ', r_ui=3.0, est=4.506666666666667, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1HG6GH56E50B2', iid='B00B1K6D5Y', r_ui=4.0, est=3.6091954022988504, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3IPLBVJOWOWID', iid='B0038JE07O', r_ui=2.0, est=3.2972972972972974, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3RB1YBMJZXA8U', iid='B0053B8IL4', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1RJSG0GXCDTNV', iid='B00D1GYNT4', r_ui=4.0, est=4.471698113207547, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A7FJ36TCU73B1', iid='B004U8GSMC', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3LLVFKHK1VSU3', iid='B0017H4EBG', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='ACWDZGQAWRORW', iid='B006I0KL6Y', r_ui=5.0, est=4.061538461538461, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AJSIOPRVD12QZ', iid='B0006G36TA', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1WNZS7SET45TY', iid='B000ANGNN0', r_ui=5.0, est=4.59375, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AVF5JCBQOH0PZ', iid='B000MVJ1M0', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2T4CHCYLLGDBC', iid='B004CQGAYS', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A31E0TMZCLQ6BA', iid='B0078XGE3Y', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2NG2UVDPREU42', iid='B00B1NN0TS', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1DK9DZ7521AWJ', iid='B004RCHX0W', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A8FSRBB3V72H3', iid='B0018LYCYK', r_ui=5.0, est=4.504464285714286, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A5Q25ZRVYKKRB', iid='B003L137Y6', r_ui=5.0, est=4.394736842105263, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A9A242YWSY0WS', iid='B001QWRT3C', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3AE0PT28XBUT', iid='B001F51G16', r_ui=5.0, est=4.4288659793814436, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3NCG5B3WYQXS5', iid='B000WH6H1M', r_ui=5.0, est=4.604790419161676, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3RRXPXMFW54KQ', iid='B00192VWVY', r_ui=4.0, est=3.4193548387096775, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1A1GEOK9N1SF2', iid='B00CO8TBQ0', r_ui=5.0, est=4.782258064516129, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2D5K3C373CTUG', iid='1400501776', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A5E9JVIEONLZ0', iid='B000EPHP4U', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1UVYZTKIY3Y6R', iid='B00172M8HS', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1V6PYMXENZZ5P', iid='B0018QTWH2', r_ui=5.0, est=4.36, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2S5P2CZYWI7R3', iid='B002BH3I9U', r_ui=4.0, est=3.8067831449126412, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A20FSZMNXY3DS8', iid='B006OBGEHW', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3D5DGSKWOKQ8Q', iid='B0032OZNDK', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A28WM8A3BF8EKN', iid='B00BQ5KHJW', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2N3LW6W97OUZL', iid='B004J4VYEY', r_ui=5.0, est=3.0880952380952382, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1YEWA0ZCUCIXJ', iid='B00B89BN7G', r_ui=5.0, est=4.171717171717172, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AVQ3H6Q1B3BH0', iid='B00BCGRVSU', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3R7P7FLTWV8EH', iid='B001413DF8', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1O0EMN57TO1SP', iid='B004MF11MU', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1CMMSYUUSJOCS', iid='B003WE9WQO', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3ICD9GU3CYEV9', iid='B004YW7WCY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AGPC0FWVO2VST', iid='B001HN6JK4', r_ui=4.0, est=3.3541666666666665, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2GR7F3TYSZ79F', iid='B005Z2TG9Y', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3HD6PT2FL2BYL', iid='B009K62HQ0', r_ui=5.0, est=3.463157894736842, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1J4L5FPLKIJCT', iid='B005LJQNQU', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3KKA97D11E4YE', iid='B007G92MG8', r_ui=4.0, est=3.56, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A28OGP7OP46YGZ', iid='B002MAPS6W', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2BH5JXXC88M3Y', iid='B003O6PXS6', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A69K6WJHI5LM4', iid='B000NVVDKC', r_ui=5.0, est=4.693548387096774, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A15KJTIC4WMVS5', iid='B0036VO4X4', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3W2LBULL95SSU', iid='B00FXYT12G', r_ui=5.0, est=4.571428571428571, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2HR1DKU9G6VWU', iid='B0000BZL1P', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A35WB5O2PCRZMC', iid='B0002BEX8W', r_ui=5.0, est=3.728395061728395, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2RSGIX312REOI', iid='B0030AZ44O', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A231R85GWQFVRE', iid='B001LYPNFQ', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A14R5OYUTPGQ2U', iid='B00F0DD0I6', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1GW4UFK8790EK', iid='B006ZT4VA0', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2P824V8B4C265', iid='B001URWAYG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3FN797Q99THQN', iid='B007HBLX5G', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2VLCMQZR5XWK9', iid='B004D5GXOA', r_ui=5.0, est=4.527027027027027, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3DL9S51L2X5PY', iid='B006JGXOSY', r_ui=2.0, est=4.213740458015267, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1LW93HGONNQUU', iid='B0042X9LC4', r_ui=5.0, est=4.503496503496503, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A20J9QK9MSR3HS', iid='B008AST7R6', r_ui=2.0, est=4.35362095531587, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3BN72WB34APQC', iid='B003QA5LA0', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1YGSU19TZWAN', iid='B003DZ1684', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AJQKUKR6UELQ8', iid='B00F0DD0I6', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A15TTZXP4GXKLM', iid='B0089E5R0W', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A236D4AY51MNTN', iid='B002K0TU2C', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AB5IR0R2QVY1I', iid='B009FPUBBE', r_ui=5.0, est=4.311320754716981, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3BEDMHT7SW97N', iid='B00AGAYQEU', r_ui=5.0, est=4.1020408163265305, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2CJEJ4USSGIGS', iid='B000AA2IC8', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3C3KXFC70OWZ4', iid='B000VM60I8', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AQCDZL1XLBXFO', iid='B003MWWPEW', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AW0HHEQ0Y9UE8', iid='B004C9M7UG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A36CJVZG09VFB3', iid='B002Q8IHDQ', r_ui=5.0, est=4.153333333333333, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AN1AX2IGPBEOE', iid='B003LSTD38', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A19Q0XGUC5NWV2', iid='B003O8J11E', r_ui=5.0, est=4.4, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AAP0ETKKGFRF9', iid='B002V5OYHC', r_ui=5.0, est=4.040201005025126, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1ENW3EQ531IO5', iid='B007KEZMX4', r_ui=5.0, est=4.593100574939722, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='A168U3MED8LMH', iid='B003K0E6BG', r_ui=5.0, est=3.9567567567567568, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2RX62V4E2BF5Z', iid='B00DQZQPNM', r_ui=4.0, est=4.087338087000548, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='A36JUF489IQ7YX', iid='B000WKPHI8', r_ui=5.0, est=3.0588235294117645, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AXUJKKSLOMAFO', iid='B008GHN0NS', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3OY699NY6V12H', iid='B0040IUI46', r_ui=5.0, est=3.583016476552598, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AU0BMY9P3RZR4', iid='B003EV7EC4', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AJUCQMDI0QA3I', iid='B009X01C64', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1IBGG14JQ1BR4', iid='B0093XTHHM', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1JQHMFNU5XYKR', iid='B00834SJNA', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3PXDSDXLB2XI4', iid='B006H06TVG', r_ui=5.0, est=4.345794392523365, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='ALX4NY09VE3LH', iid='B00007M1TZ', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1PLAHVNDVSVCH', iid='B005T3GPXO', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A22WFKPWBYG0WL', iid='B005CLPP8E', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A20A5C9M1R0MV3', iid='B0089ZV1WY', r_ui=5.0, est=4.249388753056235, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='ASYN7RG93QPAY', iid='B009Z3SVRM', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AYP0BTMWUEJE9', iid='B007R5YDYA', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2E8LQBGTMIYD0', iid='B000S5Q9CA', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2F69OHI9STNS5', iid='B003NYQHFW', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A28LK4TOXX2W3O', iid='B0045371FU', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AAB0P0XSAX567', iid='B001MXLD4G', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A36TC7G6ODJMLT', iid='B008NMCPTQ', r_ui=4.0, est=3.728005591798695, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='A3J6XM0ODSQRUV', iid='B002I00730', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3T5D5KVVQFGFV', iid='B00009R6WU', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3QM5F0Z3GULWP', iid='B008OUKZZI', r_ui=5.0, est=3.9183673469387754, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A27FJMTTINZO3R', iid='B009SYZ8OC', r_ui=1.0, est=3.066095335113956, details={'actual_k': 2, 'was_impossible': False}),
 Prediction(uid='AJROKA8095EE5', iid='B007B31IYQ', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2AST5N8MSQMOE', iid='B000246USU', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A26UEQSB8532DD', iid='B009D9CZ5C', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A34900KFSU707V', iid='B003S6AXVO', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A6S1FREDK70WQ', iid='B00000K4KH', r_ui=5.0, est=4.213333333333333, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1RCJWK3G62RTD', iid='B009L04DCQ', r_ui=4.0, est=3.8666666666666667, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A31OLWW8C0GJXW', iid='B000ODVKUC', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3G8CBCKLABK6U', iid='B001769K3O', r_ui=5.0, est=3.7583333333333333, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A15WS9U0CPY0PI', iid='B003CJTR8M', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A14OASK67KPUPD', iid='B0043T7FXE', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3HTGJAK801WJC', iid='B0037NX6JY', r_ui=4.0, est=4.458333333333333, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A29RS33N281XNJ', iid='B0007R4LI8', r_ui=1.0, est=3.803030303030303, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A378I9YIPLBM1G', iid='B000M6XKEK', r_ui=5.0, est=4.25, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1EB3JBIF5D5MZ', iid='B00B1V5QRO', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A14PA88AAZEMH8', iid='B00F4A8FQM', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1F6J7Y7BTBSDK', iid='B00AHKFDWS', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3SZJEHYXPXQGU', iid='B0012YHQVE', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2K7CZU46I1B0D', iid='B0030XXH1S', r_ui=5.0, est=3.911111111111111, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='ALRQ5OWWGFODW', iid='B008RNQEUW', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A17COWO83HN9WA', iid='B002Y27P6Y', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AWGURHFIHHKFT', iid='B004N62HZI', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2YR6S09HQSBWV', iid='B0015DYMVO', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2ZL52S190T5HZ', iid='B00BT7RAPG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1ZKH0D77X13YN', iid='B002VPE1QG', r_ui=5.0, est=4.44921875, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A18ME542U3EN37', iid='B0035WTVWI', r_ui=5.0, est=3.0704225352112675, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3HFPDZU33JAYH', iid='B006PWGESY', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2FYDGF63L7NYD', iid='B000J1DA3Y', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3FD99WTGU65UH', iid='B001XURP7W', r_ui=5.0, est=4.405580791693706, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1VC53PJBUYMT3', iid='B007ADFTUG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A16URL5CF3LDEB', iid='B002BU0DPE', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AWQ5RODZJ5O0D', iid='B000EOSHGQ', r_ui=5.0, est=4.698412698412699, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3TW5F9GRLEUOQ', iid='B0097BEECI', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A4BLTDWE0D3OJ', iid='B00726185Q', r_ui=4.0, est=3.84375, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2YFAZTII373YE', iid='B00AWKC0JM', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2JH3ZFMDVCYP3', iid='B000C1Z0HA', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AZFIZP8WCDM80', iid='B00A9NE84C', r_ui=5.0, est=4.288888888888889, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A17N3G1IMY7RCG', iid='B003VNKKTE', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2A9CO698RXXQS', iid='B001ENOZY4', r_ui=5.0, est=4.6, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3U86QYIMNUUR3', iid='B0012Y6HC8', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3NHV9GH53KXH2', iid='B00752QXZ2', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A15YYDU8NORY59', iid='B005DKZTMG', r_ui=3.0, est=4.2662162162162165, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2C0XSTD7X2UMM', iid='B002M3SOC4', r_ui=5.0, est=4.451764705882353, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A34MCHUZQS4GQZ', iid='B0000C3GWU', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2CHKSEG1WNX6M', iid='B005GM6H8G', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3BNIX7M313129', iid='B0041686QY', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1UJOMS9IINQEI', iid='B003ZX8B2S', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3NHUQ33CFH3VM', iid='B003OBXHPC', r_ui=5.0, est=3.537313432835821, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2FO61JYXOKX5M', iid='B0000642RX', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1O3KIR8XGZGV8', iid='B007P4VOWC', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AXWIEBLPWT45R', iid='B0022TSC5C', r_ui=5.0, est=3.7777777777777777, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AVUSN4W7G4EF2', iid='B0038W0K2K', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2XN87RR1AWZ05', iid='B004JQN670', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3LAVWOZ1PDEW5', iid='B009USAJCC', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A22STSNT3O49MF', iid='B00B588HY2', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1YZ5TJD8NPYZX', iid='B00752R4PK', r_ui=5.0, est=3.9575289575289574, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2P2W364U173R6', iid='B008AJNF78', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3CIGP2U56QHOX', iid='B000NVVDKC', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1T5MUZPY4HUHL', iid='B000A0CV9S', r_ui=1.0, est=4.7555555555555555, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='ACXY3AVH3VU9T', iid='B003N3GRCQ', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3JWUBWY0Q3T0Q', iid='B004S4XMH2', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A379Z59W3OPD1L', iid='B0044YU60M', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2SEQUFN8W7D07', iid='B002VJL0OS', r_ui=5.0, est=3.6180555555555554, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2LGU363A268Y7', iid='B004SD1ZPY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AWMZYM9NC8CX3', iid='B000BP50AY', r_ui=5.0, est=3.6210526315789475, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AH48Q4OXCJ0ME', iid='B0013FK9U2', r_ui=5.0, est=4.517857142857143, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3S2BZNL03NVMK', iid='B007C6ZN3Y', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A25EHXGAXBJBUE', iid='B007MHFMMU', r_ui=1.0, est=3.29064039408867, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A19FQRD5KW4XSW', iid='B0002KVQBA', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A10OD8GJZYDIJ0', iid='B007M4Z60Q', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AG6R7F8CLUYCX', iid='B000BQ7GW8', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1KEIXRN1JOHYL', iid='B00ALNPM2C', r_ui=5.0, est=4.384615384615385, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1YS1RFMS6TBYS', iid='B0065L3GKY', r_ui=4.0, est=4.371428571428571, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AVA31N8209O7Y', iid='B000VX6XL6', r_ui=5.0, est=1.0157430240103826, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='A230MY7UEP6K5N', iid='B00AWKC0EC', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A5AP5Z4ISTP1', iid='B00BCGRTFK', r_ui=1.0, est=4.161803713527852, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3BHOHS0OEVW5R', iid='B003NE5UWI', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A19ZXR1TNXCJSO', iid='B003VWU79I', r_ui=5.0, est=3.230769230769231, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='APNEIHPZ0CWIT', iid='B0036VO2B8', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2RWPWCSLJU5E7', iid='B009Z3SVRM', r_ui=5.0, est=3.978527607361963, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2ESLMQEZLYD1D', iid='B000U5TUWE', r_ui=5.0, est=4.416481069042316, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2HV76MYH7UL3S', iid='B00BUI44US', r_ui=5.0, est=4.489795918367347, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3J0XB4OOZM3UO', iid='B006BZ5OHW', r_ui=4.0, est=4.434895833333333, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AA6176V2HKG16', iid='B00D5T3QK4', r_ui=5.0, est=5, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='A728B8ZQY3B1C', iid='B001E45XT4', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A8TWQEOJ7VOMF', iid='B001E0JH5E', r_ui=5.0, est=3.973821989528796, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A13I9BBOKW10CB', iid='B0002L5R78', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3CA6YNREV5UFI', iid='B002WE4HE2', r_ui=4.0, est=4.270522388059701, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A18JVQLWCNHP2Q', iid='B005CI7V1Q', r_ui=4.0, est=4.028673835125448, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1F0BMX4ZA5TGC', iid='B00123WZWK', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A27FYAUYCGIB5Z', iid='B006GLEZ8U', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='ARXU3FESTWMJJ', iid='B0076POAOE', r_ui=4.0, est=4.470828660436137, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='A2MEKZ55TA0PPA', iid='B003HFCDLY', r_ui=5.0, est=4.365771812080537, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3BF8FKP5J17K3', iid='B005QXX0MG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A23UPSF6JSKUVI', iid='B002LARRDK', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1SHKC7GRTHLFL', iid='B0034XIL60', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AQ71YJV6V2AJP', iid='B00D5Q75RC', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AV3RIJJR7KVZ4', iid='B000FBK3QK', r_ui=3.0, est=4.39870340356564, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A15IT68BDRHN0Z', iid='B000QUUFRW', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AISAGZQIDI5BB', iid='B005U0M9B8', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A31I9R45G1U0G2', iid='B004PNZFZ8', r_ui=4.0, est=3.9754601226993866, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A26T7DDT0L6QMF', iid='B004PNZFZ8', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A34H8ZEEEJXMC0', iid='B0038Q4AIG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2MPG524TZESO2', iid='B0015TJNEY', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AYPW2EP3106XT', iid='B0015DYMVO', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1VED626HRTBAC', iid='B008OHNZI0', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AN9QQDRZXS52P', iid='B0097C57NC', r_ui=5.0, est=4.333333333333333, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A8FV3XXH79CS1', iid='B0000BVYTV', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2JR10TRIJXJ3R', iid='B000JVCPEY', r_ui=1.0, est=3.4, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='ASJ84X1QJBJS6', iid='B00FAMAQQG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1UL3PXQCXN1WD', iid='B0002TQQUW', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3DTQPHSWN65E8', iid='B006GWO5WK', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AGFSSC5DBY2HU', iid='B001TODUXA', r_ui=4.0, est=3.230769230769231, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1C8PQ9N3LFJ7A', iid='B001J1XWZ4', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='ALGLSSA3RKNVM', iid='B007ADFKAK', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A38EWQNSE5WWYO', iid='B0075SUK14', r_ui=5.0, est=4.360493827160494, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AW7G3R2WNX1S9', iid='B0049KV50G', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1ZHVI4CS31KS6', iid='B0011FOOI2', r_ui=3.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2T0CTNMTH3JGJ', iid='B002SZEOLG', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AZRVFVFIEULPG', iid='B007B5VGFA', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2YUM96XNSBC0W', iid='B002XVYZ82', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2Y81U5ROEUP6T', iid='B005SEZR0G', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A17G3Z19SV8DSW', iid='B00DQGIHNW', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A7SJAD32C1TEV', iid='B00AZR962G', r_ui=5.0, est=4.212121212121212, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2WJB8ERIHCILH', iid='B001E2T6Y4', r_ui=4.0, est=3.847457627118644, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A391154D5LDKH5', iid='B009AETXPK', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2YDF9ZS4D9XLU', iid='B002PAR0AQ', r_ui=5.0, est=4.088888888888889, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3S0HSMF3MU2EQ', iid='B005CT56F8', r_ui=5.0, est=4.405841511669038, details={'actual_k': 1, 'was_impossible': False}),
 Prediction(uid='A2X5OGGJZDL7R3', iid='B0002IP2TY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3SVPVMZO0YERY', iid='B005HMO6A6', r_ui=5.0, est=4.235625704622322, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A534V1PODUK4B', iid='B006GLEZ8U', r_ui=5.0, est=4.286290322580645, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1QQIAEMQXXXN2', iid='B00005AW1H', r_ui=1.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A28NU6WO5L020Q', iid='B000CSWCQA', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2HDDTSVTO86ZP', iid='B00012FVYC', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3VIAFANIZY55M', iid='B004SPVZKW', r_ui=5.0, est=4.123924268502582, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A28DAWWYKHA5VQ', iid='B00E3W15P0', r_ui=5.0, est=4.788172992056487, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A2F80V59A8PFTZ', iid='B00834SJNA', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3CIRU3W565CNN', iid='B00GR30SW4', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1JN2X5MFA0TZY', iid='B00555330E', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1BXZJUDU791H1', iid='B008OZF9SQ', r_ui=5.0, est=4.657718120805369, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='AU406CW0R056Q', iid='B000P0O12I', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2BT2O00T3BHVV', iid='B004SPVZKW', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1IR1LC845G782', iid='B007TSDQUM', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A27PLQ305F91PZ', iid='B00622AG6S', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='AA71TX4W3VQRP', iid='B001XURP7W', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2E8G32PJ90U5Q', iid='B00DPTPEMC', r_ui=5.0, est=3.25531914893617, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A331YCWKY9R95', iid='B00B46XUQU', r_ui=2.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1XGLRNFZMWXX1', iid='B001CIREXA', r_ui=5.0, est=4.474036850921273, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3PORCMRZTFA0E', iid='B00IAAALFG', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A16IGVY8NFROJ', iid='B0098QSTFK', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A8CIFOCCN9G1P', iid='B000JE7GPY', r_ui=5.0, est=4.609649122807017, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1MO703GSEBBE2', iid='B0044779G8', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A8D60S4UR476L', iid='B000OTF6G0', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1G2X89ESOYW8X', iid='B00007KDVI', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A28B8QFSYRPJER', iid='B008Z0F3FY', r_ui=3.0, est=4.207692307692308, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A3ISA8LBB5P34E', iid='B001M0JAVC', r_ui=5.0, est=3.7091633466135456, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A29MHCSXBKENNE', iid='B00FY2SBR8', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A3FZFOK80G4BU8', iid='B004EHNAM0', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2T6F02K26AU5E', iid='B0051XJXJU', r_ui=3.0, est=3.86046511627907, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A1VL55A3BZO9HM', iid='B000NUBY0C', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A1YGYUSHTL4J0H', iid='B0068MSGZA', r_ui=5.0, est=4.344902386117137, details={'actual_k': 0, 'was_impossible': False}),
 Prediction(uid='A68H3EE858RSL', iid='B002HWRJY4', r_ui=4.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A2QUDBI7R6Z3ED', iid='B003ES5ZUU', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 Prediction(uid='A15XL4OQAPKB5Y', iid='B0018LX0DY', r_ui=5.0, est=4.085856797025576, details={'was_impossible': True, 'reason': 'User and/or item is unknown.'}),
 ...]
In [23]:
# get RMSE
print("Item-based Model : Test Set")
accuracy.rmse(test_pred, verbose=True)
Item-based Model : Test Set
RMSE: 1.3256
Out[23]:
1.3255974603789962

Model Based collaborative filtering for recommender system with SVD

In [24]:
new_df1=new_df.head(10000)
ratings_matrix = new_df1.pivot_table(values='Rating', index='userId', columns='productId', fill_value=0)
ratings_matrix.head()
Out[24]:
productId 0972683275 1400532655 1400698987 9573212919 9983891212 B00000DM9W B00000J1UQ B00000JBAT B00000JDF6 B00000JSGF ... B00J3H1P7S B00J46VVKE B00J5HDEPC B00J5O7BMC B00J8JLOA4 B00JDAIMQ2 B00JLADOGW B00K4VQZCM B00K91DB7Y B00KFAGCUM
userId
A0009478CBXKUCALUC7U 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
A003734036BYKEBX7UQCZ 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
A0110255Y4ER0RTKEKXS 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
A01682761RQSOIBP1TBDQ 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
A03889472EE5BD6B5IRVB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

5 rows × 5501 columns

In [25]:
ratings_matrix.shape
Out[25]:
(9977, 5501)
In [26]:
X = ratings_matrix.T
X.head()
Out[26]:
userId A0009478CBXKUCALUC7U A003734036BYKEBX7UQCZ A0110255Y4ER0RTKEKXS A01682761RQSOIBP1TBDQ A03889472EE5BD6B5IRVB A056740224B9YJST1QK7K A06920746QV640VA3XTM A09156071XCLIPW7SUW3E A100QK17COZ99I A100UD67AHFODS ... AZW7PDA9PBDO AZWDV32H173CE AZWUYFJF3ZVX6 AZWV8PN0A15U AZYL9QU0O1SI1 AZYU4K7J5FM51 AZYY3QVGTHKTE AZZ1B8DPRTHY9 AZZ2BOUPHF0D7 AZZYW4YOE1B6E
productId
0972683275 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
1400532655 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
1400698987 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
9573212919 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
9983891212 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

5 rows × 9977 columns

In [27]:
X.shape
Out[27]:
(5501, 9977)

5501 is the number of unique products in the subset data

In [28]:
X1 = X
In [29]:
#Decomposing the Matrix
from sklearn.decomposition import TruncatedSVD
SVD = TruncatedSVD(n_components=10)
decomposed_matrix = SVD.fit_transform(X)
decomposed_matrix.shape
Out[29]:
(5501, 10)
In [30]:
#Correlation Matrix

correlation_matrix = np.corrcoef(decomposed_matrix)
correlation_matrix.shape
Out[30]:
(5501, 5501)
In [31]:
X.index[75]
Out[31]:
'B00005T3W5'

The Index # of selected product ID, assuming it was purchased by a customer

In [32]:
i = "B00005T3W5"

product_names = list(X.index)
product_ID = product_names.index(i)
product_ID
Out[32]:
75

Using the selected item, we run Correlation for all items, based on items rated by other customers who bought the same product.

In [33]:
correlation_product_ID = correlation_matrix[product_ID]
correlation_product_ID.shape
Out[33]:
(5501,)
In [34]:
Recommend = list(X.index[correlation_product_ID > 0.65])

# Removes the item already bought by the customer
Recommend.remove(i)

Recommend[0:24]
Out[34]:
['0972683275',
 '9573212919',
 'B00000J1UQ',
 'B00000JBAT',
 'B00000JSGF',
 'B00000K4KH',
 'B00001P4XA',
 'B00001W0EQ',
 'B00001WRSJ',
 'B00004SY4H',
 'B00004TDLD',
 'B00004THCZ',
 'B00004TL5Q',
 'B00004VX3T',
 'B00004WCGC',
 'B00004Z5M1',
 'B000051SEN',
 'B000053HH5',
 'B000058BCQ',
 'B00005A1K1',
 'B00005ARK3',
 'B00005K47X',
 'B00005LEN4',
 'B00005ML7Q']

These are the Product IDs of the top 25 most related products

Model Evaluation

In [35]:
# RMSE (Root Mean Squared Error)
print("Item-based Model: Test Set RMSE")
rmse = accuracy.rmse(test_pred, verbose=True)

# MAE (Mean Absolute Error)
print("Item-based Model: Test Set MAE")
mae = accuracy.mae(test_pred, verbose=True)
Item-based Model: Test Set RMSE
RMSE: 1.3256
Item-based Model: Test Set MAE
MAE:  1.0354
In [36]:
#Precision and recall
from collections import defaultdict

def precision_recall_at_k(predictions, k=10, threshold=3.5):
    """Return precision and recall at k metrics for each user."""

    # Mapping the predictions to each user.
    user_est_true = defaultdict(list)
    for uid, _, true_r, est, _ in predictions:
        user_est_true[uid].append((est, true_r))

    precisions = dict()
    recalls = dict()

    for uid, user_ratings in user_est_true.items():
        # Sort user ratings by estimated value
        user_ratings.sort(key=lambda x: x[0], reverse=True)

        # Number of relevant items
        n_rel = sum((true_r >= threshold) for (_, true_r) in user_ratings)

        # Number of recommended items in top k
        n_rec_k = sum((est >= threshold) for (est, _) in user_ratings[:k])

        # Number of relevant and recommended items in top k
        n_rel_and_rec_k = sum(((true_r >= threshold) and (est >= threshold))
                              for (est, true_r) in user_ratings[:k])

        # Precision@K: Proportion of recommended items that are relevant
        precisions[uid] = n_rel_and_rec_k / n_rec_k if n_rec_k != 0 else 1

        # Recall@K: Proportion of relevant items that are recommended
        recalls[uid] = n_rel_and_rec_k / n_rel if n_rel != 0 else 1

    # Average Precision and Recall
    precision = sum(prec for prec in precisions.values()) / len(precisions)
    recall = sum(rec for rec in recalls.values()) / len(recalls)

    return precision, recall

# Calculate Precision and Recall at K
precision, recall = precision_recall_at_k(test_pred, k=10, threshold=3.5)

print(f'Precision@K: {precision}')
print(f'Recall@K: {recall}')
Precision@K: 0.772536049183078
Recall@K: 0.9814879683772517
In [37]:
def coverage(predictions, total_items, threshold=3.5):
    recommended_items = set()

    for uid, _, _, est, _ in predictions:
        if est >= threshold:
            recommended_items.add(uid)

    return len(recommended_items) / total_items

# Calculate Coverage
total_items = len(set(electronics_data['productId']))
coverage_score = coverage(test_pred, total_items, threshold=3.5)

print(f'Coverage: {coverage_score}')
Coverage: 1.209881471086256
In [ ]: