Mahoutでjava.util.NoSuchElementExceptionが出た時の対処

機械学習用のライブラリ、ApacheMahoutを使用していてちょっと困ったのでメモ

import java.io.*;
import java.util.*;
import org.apache.mahout.cf.taste.impl.model.file.FileDataModel;
import org.apache.mahout.cf.taste.model.DataModel;
import org.apache.mahout.cf.taste.recommender.*;
import org.apache.mahout.cf.taste.impl.recommender.GenericItemBasedRecommender;
import org.apache.mahout.cf.taste.impl.similarity.PearsonCorrelationSimilarity;
import org.apache.mahout.cf.taste.similarity.ItemSimilarity;

class test{

	public static void main(String[] argv){
		try{
			DataModel model=new FileDataModel(new File("test.csv"));
			ItemSimilarity similarity=new PearsonCorrelationSimilarity(model);
			Recommender recommender= new GenericItemBasedRecommender(model,similarity);
			List recommendations=recommender.recommend(1,5);
			for(RecommendedItem recommendation:recommendations){
				long recommendCode=recommendation.getItemID();
				System.out.println(recommendCode);
			}
		}catch(Exception e){}
	}
}

こんなかんじでアイテムベースのレコメンドを作成していたのですが、CSVファイルを読み込んだ際に

java.util.NoSuchElementException
				at com.google.common.base.AbstractIterator.next(AbstractIterator.java:75)
				at org.apache.mahout.cf.taste.impl.model.file.FileDataModel.processLine(FileDataModel.java:384)
				at org.apache.mahout.cf.taste.impl.model.file.FileDataModel.processFile(FileDataModel.java:340)
				at org.apache.mahout.cf.taste.impl.model.file.FileDataModel.buildModel(FileDataModel.java:239)
				at org.apache.mahout.cf.taste.impl.model.file.FileDataModel.reload(FileDataModel.java:208)
				at org.apache.mahout.cf.taste.impl.model.file.FileDataModel.(FileDataModel.java:194)
				at org.apache.mahout.cf.taste.impl.model.file.FileDataModel.(FileDataModel.java:149)

こんなエラーが出て進まない時がある。実行したのはLinux64Bit環境のjdk1.6。

同じものをwindows7のjdk1.6で動かしてもエラーが出ない。。。

読み込んだCSVは600万行程度

よくわからないのですがCSVの最後に改行を入れるとエラーなく動作。

わけわからん