मैंने एक मॉडल को प्रशिक्षित किया है और मैं कई महत्वपूर्ण मीट्रिक जैसे accuracy, precision, recall, और f1 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)

हालांकि, यह केवल accuracy और auc की गणना कर सकता है, लेकिन तीन अन्य नहीं। मुझे यहां क्या संशोधित करना चाहिए?

0
mah65 27 सितंबर 2020, 18:50

1 उत्तर

सबसे बढ़िया उत्तर

दस्तावेज़ के अनुसार , F1 माप, सटीकता और स्मरण के लिए, MulticlassClassificationEvaluator के प्रासंगिक तर्क क्रमशः होने चाहिए

metricName="f1"
metricName="precisionByLabel"
metricName="recallByLabel"
0
desertnaut 27 सितंबर 2020, 20:11