【发布时间】:2016-11-10 15:19:53
【问题描述】:
我有一个具有这种结构的小文件“naivebayestest.txt”
10 1:1
20 1:2
20 1:2
我试图根据这些数据对向量 (1) 进行分类。如果我正确理解贝叶斯,(1)的标签应该是 10(概率为 1!)。 Spark MLlib 中的程序:
String path = "/usr/local/spark/data/mllib/bayestest.txt";
JavaRDD<LabeledPoint> training = MLUtils.loadLibSVMFile(jsc.sc(), path).toJavaRDD();
final NaiveBayesModel model = NaiveBayes.train(training.rdd());
Vector v = Vectors.dense(1);
double prediccion = model.predict(v);
System.out.println("Vector: "+v+" prediction: "+prediccion);
显示Vector: [1.0] prediction: 20.0
我使用 1050 个元素的训练集获得了相同的结果,其中 350 个 (1/3) 的形式为 10 1:1,其余为 20 1:2 (2/3),我仍然得到相同的向量预测 20.0 1.
我做错了什么?
【问题讨论】:
标签: java apache-spark apache-spark-mllib naivebayes