推荐系统spark版代码出错

按照讲解视频一步一步来的,在最后一步的时候,计算泛化误差的时候,程序出现错误 ![](http://wenda.chinahadoop.cn/uploads/questions/20160906/88738087d97a6b9b488db61ced543f49.png) ![](http://wenda.chinahadoop.cn/uploads/questions/20160906/7d45cfd41afe717293d57e85d2f4df3b.png) ![](http://wenda.chinahadoop.cn/uploads/questions/20160906/cb1f931e9d6995959cae12c8cef608ce.png) 测试集训练出来的数据格式如下: ![](http://wenda.chinahadoop.cn/uploads/questions/20160906/370fc00141e827cc31bb81e8cf8c5202.png) 感觉testData的数据没有什么问题,自己也尝试过,使用下面的语句,不过也是报错 val scoreAndLabels = testData.map { point => val score = model.predict(point.features) (score, point.label) } 自己在网上查了一些原因,说可能是数据量过大,导致的,但是那个testData一共才300多兆。

Eric_Jiang - 我是小象的搬运工!!!

赞同来自: 飞虹舞毓

你的测试集维度和训练集不一致. 两个应该都是51的.   testDate应该如下
1473214931720.png
 

Eric_Jiang - 我是小象的搬运工!!!

赞同来自:

testData什么样? 我刚运行了一下 是ok的.  用yarn client 运行的么?

飞虹舞毓

赞同来自:

问题已经解决,解决方法:注意testData的数据格式,应该是libsvm的格式:<label> <index1>:<value1> <index2>:<value2> ...,test的数据集比train少了三列,在处理的时候应该注意,处理时太大意了,导致数据的列数没有匹配。感谢,小象的搬运工@Eric_Jiang 

要回复问题请先登录注册