Machine learning Spark中我的数据集的最佳分类器模型

Machine learning Spark中我的数据集的最佳分类器模型,machine-learning,apache-spark,classification,Machine Learning,Apache Spark,Classification,我是Spark和ML的新手,我有一个任务应该由ApacheSparkAPI实现。 我的数据的一些示例行是: 298,217756,468,0,363,0,0,14,0,11,0,0,894,cluster3 299,219413,25,1364,261,15,0,1,11,5,1,0,1760.5,cluster5 300,223153,1650,8673,2215,282,0,43,120,37,7,0,12853,cluster1 我需要训练一个分类器,然后,它的模型将预测任意传入行中的聚

我是Spark和ML的新手,我有一个任务应该由ApacheSparkAPI实现。 我的数据的一些示例行是:

298,217756,468,0,363,0,0,14,0,11,0,0,894,cluster3
299,219413,25,1364,261,15,0,1,11,5,1,0,1760.5,cluster5
300,223153,1650,8673,2215,282,0,43,120,37,7,0,12853,cluster1
我需要训练一个分类器,然后,它的模型将预测任意传入行中的聚类。例如,模型应预测下一行中的“?”:

318,240747,875,0,0,0,0,8,0,0,0,0,875,?
所以我需要知道我应该使用哪种类型的Spark数据类型、分类器等等?我应该如何预测“?”

感谢您的帮助

好的,我解决了这个问题:-)只需为其他感兴趣的用户发布答案。 样本数据为 60236178,0,0,4,15,16,0,0575.00,5

1500,0,0,0,0,5,0,0,0,0,01500.00,5

502072248,0,0,1,56,7,0,02658.50,5

封装火花;
导入org.apache.spark.SparkConf;
导入org.apache.spark.api.java.javapairdd;
导入org.apache.spark.api.java.JavaRDD;
导入org.apache.spark.api.java.JavaSparkContext;
导入org.apache.spark.api.java.function.function;
导入org.apache.spark.api.java.function.PairFunction;
导入org.apache.spark.mllib.classification.NaiveBayes;
导入org.apache.spark.mllib.classification.bayesmodel;
导入org.apache.spark.mllib.feature.HashingTF;
导入org.apache.spark.mllib.regression.LabeledPoint;
导入scala.Tuple2;
导入scala.actors.threadpool.Arrays;
导入java.text.DecimalFormat;
/**
*/
公共类朴素{
公共静态void main(字符串[]args){
SparkConf conf=new SparkConf().setAppName(“NaiveBayes示例”).set(“spark.driver.allowMultipleContexts”,“true”).set(“hadoop.version”,“hadoop-2.4”);
conf.setMaster(“本地[*]”);
JavaSparkContext sc=新的JavaSparkContext(conf);
String path=“resources/clustering-Result-without-index-id.csv”;
JavaRDD data=sc.textFile(路径);
最终哈希tf=新哈希tf(10000);
//将初始RDD分成两部分…[60%的培训数据,40%的测试数据]。
javarddmaindata=data.map(
新函数(){
@凌驾
公共标签点调用(字符串行)引发异常{
String[]parts=line.split(“,”);
Double[]v=新的Double[parts.length-1];
对于(int i=0;i正确。”:“”;
System.out.println(“预测:+cluster+”,实际:+p.label()+b);
返回新的Tuple2(cluster,p.label());
}
});
双精度=预测和标记过滤器(
新函数(){
@凌驾
公共布尔调用(tuple2pl){
返回pl._1()等于(pl._2());
}
}).count()/(双)测试.count();
System.out.println(“精度为”+新的十进制格式(“#.000”)。格式(精度*100)+“%”;
LabeledPoint point=新的LabeledPoint(3,tf.transform(Arrays.asList(新字符串[]{“0825,0,0,0,1,0,0,02180”}));
双d=model.predict(point.features());
System.out.println(“预测:+d+”,实际:+point.label());
save(sc.sc(),“myModelPath”);
NaiveBayesModel sameModel=NaiveBayesModel.load(sc.sc(),“myModelPath”);
sameModel.labels();
}

}
如果有人能在此基础上帮助我,我将不胜感激。java api:-)请删除“spark java”标记,它与Apache spark无关。但它与Apache spark有关:-)我的意思是spark java与Apache spark无关,与您的问题主题无关。对不起,我把你弄糊涂了哦!我懂了。。。。不过,感谢您的评论:-)