Этот метод дает мне ошибку сериализации задачи:
def singleItemPrediction(userid : Int, item : Int) = {
val userAndItems = useritemrating.filter({x => x._1 == userid && x._2 != item})
val userMean = userAndItems.aggregate(0.0)((accum, rating) => accum + rating._3, _+_) / userAndItems.count()
userMean + userAndItems.aggregate(0.0)((accum, ui) => accum + avgDev(userid, item, ui._2), _+_) / userAndItems.count()
}
Изменение нижней строки (что возвращается) на:
avgDev(userid, item1, item2), _+_) / userAndItems.count()
Ошибку не выдает!
Я не понимаю, почему, какая разница? Это как-то связано с вызовом метода avgDev
с действием aggregate
, но я не уверен, почему это происходит. У меня продолжают возникать эти проблемы, и я продолжаю их решать, я хотел бы знать, почему они возникают, чтобы я мог перестать совершать одну и ту же ошибку и повторять этот сценарий исправления кода снова и снова.
Serializable
. Поскольку вы, кажется, ищете общий метод отладки такого рода проблем, вот что я ответил. Надеюсь, поможет! - person Daniel Darabos   schedule 05.04.2015