相对较新的用户。在Pyspark中,建模后如何对预测的列进行排序。例如,在三类情况下,假设您的目标标签是0, 1, 2
或"low", "moderate", "large"
。您可以通过比较“概率”和“预测”列来肯定地推断出这一点-似乎Spark按升序排列它们-但是手动检查效率很低。
对于一般的编码方式,我有些困惑。我已经读到,这可能会发生,具体取决于类的大小或类的数字/文本顺序。任何人都可以在上面遮荫吗?
我在下面提供代码-数据来自Spark本身。
from pyspark.ml.classification import LogisticRegression
# Load training data
dat = spark \
.read \
.format("libsvm") \
.load("data/mllib/sample_multiclass_classification_data.txt")
lr = LogisticRegression(maxIter=10, regParam=0.3, elasticNetParam=0.8)
# generate the train/test split.
(train, test) = dat.randomSplit([0.8, 0.2])
# Fit the model
lrModel = lr.fit(train)
# score the model on test data.
prediction = lrModel.transform(test)
prediction.select("probability", "prediction").show(5, False)