Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 支持向量机的Spark-MLLib交叉验证_Apache Spark_Svm_Cross Validation_Apache Spark Mllib - Fatal编程技术网

Apache spark 支持向量机的Spark-MLLib交叉验证

Apache spark 支持向量机的Spark-MLLib交叉验证,apache-spark,svm,cross-validation,apache-spark-mllib,Apache Spark,Svm,Cross Validation,Apache Spark Mllib,我使用Spark MLLib对标记点的RDD进行SVM分类。 我想交叉验证它。哪种方法最好? 有人有示例代码吗?不过,我找到了依赖于数据帧的CrossValidator类 我的目标是获得F分数 你可以找到一个完整的例子,虽然不是SVM而是逻辑回归 最好的方法是使用RDD.toDF()方法将RDD更改为数据帧。一个多月来,我一直面临着同样的问题,直到我意识到我必须使用ML API而不是MLlib API(更多关于两者之间的差异)。在这种情况下,新API的SVM为: 从pyspark.ml.clas

我使用Spark MLLib对标记点的RDD进行SVM分类。 我想交叉验证它。哪种方法最好? 有人有示例代码吗?不过,我找到了依赖于数据帧的CrossValidator类


我的目标是获得F分数

你可以找到一个完整的例子,虽然不是SVM而是逻辑回归


最好的方法是使用
RDD.toDF()
方法将RDD更改为数据帧。

一个多月来,我一直面临着同样的问题,直到我意识到我必须使用ML API而不是MLlib API(更多关于两者之间的差异)。在这种情况下,新API的SVM为:

从pyspark.ml.classification导入RandomForestClassifier,LinearSVC
从pyspark.ml.tuning导入CrossValidator、ParamGridBuilder、CrossValidator模型
从pyspark.ml.evaluation导入MultiClassificationEvaluator
#支持向量机
crossval=CrossValidator(估计器=LinearSVC(),
estimatorParamMaps=ParamGridBuilder().build(),
evaluator=MultiClassificationEvaluator(metricName='f1'),
numFolds=5,
平行度=4)
#随机森林
crossval=CrossValidator(估计器=RandomForestClassifier(),
estimatorParamMaps=ParamGridBuilder().build(),
evaluator=MultiClassificationEvaluator(metricName='f1'),
numFolds=5,
平行度=4)
在这两种情况下,您都可以调整模型:

cross\u模型:CrossValidatorModel=crossval.fit

非常感谢。在该示例中,LogisticRegression对象被实例化并插入到管道中。但是,它找不到任何支持向量机来实例化适合管道的支持向量机。使用哪个类?