evaluationScheme creates an evaluation scheme (training and test data)
with k runs and one of the given methods:"split" randomly assigns
the proportion of objects given by train to the training set and
the rest is used for the test set.
"cross-validation" creates a k-fold cross-validation scheme. The data
is randomly split into k parts and in each run k-1 parts are used for
training and the remaining part is used for testing. After all k runs each
part was used as the test set exactly once.
"bootstrap" creates the training set by taking a bootstrap sample
(sampling with replacement) of size train times number of users in
the data set.
All objects not in the training set are used for testing.
For evaluation, the scheme chooses from the test data for each user
given items are randomly as "known" items, the remaining
items are "unknown." The known items are used to create a prediction and
it is evaluated how well the algorithm predicts the unknown items.