Я новичок в Искре. Я хочу использовать мультиклассовую классификацию для SVM в PySpark MLlib. Я установил Spark 2.3.0 на Windows.
Но я искал и обнаружил, что SVM реализован для двоичной классификации только в Spark, поэтому мы должны использовать стратегию «один против всех». Это дало мне ошибку, когда я попытался использовать один-все-все с SVM. Я искал ошибку, но не нашел ее решения.
Я использовал код one-vs-all по этой ссылке
https://spark.apache.org/docs/2.1.0/ml-classification-regression.html#one-vs-rest-classifier-aka-one-vs-all
вот мой код:
from pyspark.mllib.classification import SVMWithSGD , SVMModel
from pyspark.ml.classification import OneVsRest
# instantiate the One Vs Rest Classifier.
svm_model = SVMWithSGD()
ovr = OneVsRest(classifier=svm_model)
# train the multiclass model.
ovrModel = ovr.fit(rdd_train)
# score the model on test data.
predictions = ovrModel.transform(rdd_test)
Ошибка в строке "ovr.fit (rdd_train)". Вот ошибка
File "D:/Mycode-newtrials - Copy/stance_detection -norelieff-lgbm - randomizedsearch - modified - spark.py", line 1460, in computescores
ovrModel = ovr.fit(rdd_train)
File "D:\python27\lib\site-packages\pyspark\ml\base.py", line 132, in fit
return self._fit(dataset)
File "D:\python27\lib\site-packages\pyspark\ml\classification.py", line 1758, in _fit
"Classifier %s doesn't extend from HasRawPredictionCol." % type(classifier)
AssertionError: Classifier <class 'pyspark.mllib.classification.SVMWithSGD'> doesn't extend from HasRawPredictionCol.