Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.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 PySpark MLlib:AssertionError:Classifier不';t从HasRawPredictionCol扩展_Apache Spark_Pyspark_Svm_Apache Spark Mllib_Apache Spark Ml - Fatal编程技术网

Apache spark PySpark MLlib:AssertionError:Classifier不';t从HasRawPredictionCol扩展

Apache spark PySpark MLlib:AssertionError:Classifier不';t从HasRawPredictionCol扩展,apache-spark,pyspark,svm,apache-spark-mllib,apache-spark-ml,Apache Spark,Pyspark,Svm,Apache Spark Mllib,Apache Spark Ml,我是Spark的新手。我想在PySpark MLlib中为SVM使用多类分类。我在Windows上安装了Spark 2.3.0 但是我搜索并发现SVM只在Spark中用于二值分类,所以我们必须使用一对所有策略。它给了我一个错误,当我试图使用一对所有的支持向量机。我搜索了错误,但没有找到解决方法 我在这个链接中使用了“一对所有”的代码 这是我的密码: 从pyspark.mllib.classification导入SVMWithSGD、SVMModel 从pyspark.ml.classifica

我是Spark的新手。我想在PySpark MLlib中为SVM使用多类分类。我在Windows上安装了Spark 2.3.0

但是我搜索并发现SVM只在Spark中用于二值分类,所以我们必须使用一对所有策略。它给了我一个错误,当我试图使用一对所有的支持向量机。我搜索了错误,但没有找到解决方法

我在这个链接中使用了“一对所有”的代码

这是我的密码:

从pyspark.mllib.classification导入SVMWithSGD、SVMModel
从pyspark.ml.classification导入OneVsRest
#实例化One-Vs-Rest分类器。
svm_模型=SVMWithSGD()
ovr=OneVsRest(分类器=svm_模型)
#训练多类模型。
ovr模型=ovr.配合(rdd_系列)
#根据测试数据对模型进行评分。
预测=ovrModel.transform(rdd_测试)
错误在“ovr.fit(rdd_列)”行中。这里是错误

文件“D:/Mycode newtrials-Copy/stance_detection-norelieff lgbm-randomizedsearch-modified-spark.py”,第1460行,在computescores中
ovr模型=ovr.配合(rdd_系列)
文件“D:\python27\lib\site packages\pyspark\ml\base.py”,第132行,在fit中
返回自拟合(数据集)
文件“D:\python27\lib\site packages\pyspark\ml\classification.py”,第1758行,以_-fit格式
“分类器%s不从HasRawPredictionCol扩展。”%type(分类器)
AssertionError:分类器不从HasRawPredictionCol扩展。

出现错误是因为您试图使用Spark ML中的模型(
OneVsRest
)和Spark MLlib中的基本二进制分类器(
SVMWithSGD

(旧的、基于RDD的API)和(新的、基于数据帧的API)不仅是不同的库,而且它们也是不兼容的:不能在它们之间混合模型(仔细看这些示例,您将看到它们从
pyspark.ml
导入基本分类器,而不是像您在这里尝试的那样从
pyspark.mllib
导入基本分类器)

不幸的是,在撰写本文时(Spark 2.3),Spark ML不包括支持向量机,因此您目前无法将该算法用作带有
OneVsRest
的基本分类器