繁体   English   中英

在pyspark中分类后获取所有评估指标

[英]Get all evaluation metrics after classification in pyspark

我已经训练了一个模型,想要计算几个重要的指标,例如accuracyprecisionrecallf1 score

我遵循的过程是:

from pyspark.ml.classification import LogisticRegression

lr = LogisticRegression(featuresCol='features',labelCol='label')
lrModel = lr.fit(train)
lrPredictions = lrModel.transform(test)

from pyspark.ml.evaluation import MulticlassClassificationEvaluator
from pyspark.ml.evaluation import BinaryClassificationEvaluator

eval_accuracy = MulticlassClassificationEvaluator(labelCol="label", predictionCol="prediction", metricName="accuracy")
eval_precision = MulticlassClassificationEvaluator(labelCol="label", predictionCol="prediction", metricName="precision")
eval_recall = MulticlassClassificationEvaluator(labelCol="label", predictionCol="prediction", metricName="recall")
eval_f1 = MulticlassClassificationEvaluator(labelCol="label", predictionCol="prediction", metricName="f1Measure")

eval_auc = BinaryClassificationEvaluator(labelCol="label", rawPredictionCol="prediction")

accuracy = eval_accuracy.evaluate(lrPredictions)
precision = eval_precision.evaluate(lrPredictions)
recall = eval_recall.evaluate(lrPredictions)
f1score = eval_f1.evaluate(lrPredictions)

auc = eval_accuracy.evaluate(lrPredictions)

但是,它只能计算accuracyauc ,而不能计算其他三个。 我应该在这里修改什么?

根据文档,对于 F1 度量、精度和召回, MulticlassClassificationEvaluator的相关参数应分别为

metricName="f1"
metricName="precisionByLabel"
metricName="recallByLabel"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM