我试图通过使用BinaryClassificationMetrics
中的pyspark.mllib.evaluation
计算精确度/召回率(PR)和接收器工作特性(ROC)值来评估随机森林模型,但是我一直得到{{1} }
错误。我在Amazon EMR的群集上使用Jupyter笔记本,带有可选软件包Livy,TensorFlow和Spark(Sparkmagic,Pyspark);其他所有都只是默认设置。
以下代码为我重现该错误:
'StructField' object has no attribute '_get_object_id'
这是我得到的错误:
from pyspark import SparkContext
from pyspark.sql import SparkSession
import pyspark
from pyspark.mllib.evaluation import BinaryClassificationMetrics
a = sc.parallelize([
(0.0, 1.0), (0.0, 1.0), (0.0, 1.0), (0.0, 1.0), (0.0, 1.0),
(0.0, 1.0), (0.0, 1.0), (0.0, 1.0), (0.0, 1.0), (0.0, 1.0),
(0.0, 1.0), (0.0, 1.0), (0.0, 0.0), (0.0, 0.0), (0.0, 0.0),
(0.0, 0.0), (0.0, 0.0), (0.0, 0.0), (0.0, 0.0), (0.0, 0.0),
(0.0, 0.0), (0.0, 0.0), (0.0, 0.0), (0.0, 0.0), (0.0, 0.0)
])
metrics = BinaryClassificationMetrics(a)