anchor.diff:  
   ### Implement Data Generate Method in DataSource
   
  -In MyRecommendatin/src/main/scala/***DataSource.scala***,
  +In MyRecommendation/src/main/scala/***DataSource.scala***,
   the method `readEval` method reads, and selects, data from datastore
  -and resturns a sequence of (training, validation) data.
  +and returns a sequence of (training, validation) data.
   
   ```scala
   case class DataSourceEvalParams(kFold: Int, queryNum: Int)
  
positive.code: 
  The console prints out the evaluation meric score of each engine params, and finally
  pretty print the optimal engine params. Amongs the 3 engine params we evaluate,
  The second yeilds the best Prediction@k score of ~0.1521.
  
  
  ## The Evaluation Design
  
negative.code: data contains rating for all user-item tuples. In contrast, of a system containing
  1000 items, a user may only have rated 20 of them, leaving 980 items unrated. There
  is no way for us to certainly tell if the user likes an unrated product.
  When we examine the evaluation result, it is important for us to keep in mind
  that the final metric is only an approximation of the actual result.
  
  - Recommendation affects user behavior. Suppose you are a e-commerce company and
  