Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pyspark中随机林的错误计算_Pyspark_Random Forest_Pyspark Sql - Fatal编程技术网

Pyspark中随机林的错误计算

Pyspark中随机林的错误计算,pyspark,random-forest,pyspark-sql,Pyspark,Random Forest,Pyspark Sql,我正在使用逻辑回归和随机森林对电信客户流失数据集进行预测 请在这里找到我笔记本中的代码片段: data=spark.read.csv("D:\Shashank\CBA\Pyspark\Telecom_Churn_Data_SingTel.csv", header=True, inferSchema=True) data.show(3) 然后,我使用随机森林分类模型重复上述步骤: 我的评估为94.4% 我的结果是这样的: 到目前为止,一切看起来都很好。 但我很好奇事情到底是如何被预测的,所

我正在使用逻辑回归和随机森林对电信客户流失数据集进行预测

请在这里找到我笔记本中的代码片段:

data=spark.read.csv("D:\Shashank\CBA\Pyspark\Telecom_Churn_Data_SingTel.csv", header=True, inferSchema=True)
data.show(3)

然后,我使用随机森林分类模型重复上述步骤: 我的评估为94.4% 我的结果是这样的:

到目前为止,一切看起来都很好。 但我很好奇事情到底是如何被预测的,所以我用下面的代码打印预测值:

selected = prediction_1.select("features", "Label", "Churn", "prediction")
for row in selected.collect():
    print(row)
我得到的结果如下截图所示:

然后,我将上述链接中显示的两个单元格复制到一个压缩程序中,以查看我的预测值是否不同。(我预计会有一些不同,因为随机森林的评估结果更好)

但在任何工具上的比较都表明预测是相同的。然而,评估结果显示,逻辑回归的差异为83.6%,随机森林的差异为94.4%


当使用MultiClassificationEvaluator的最终评估给我不同的概率时,为什么我从两个不同模型生成的两组数据没有差异?

您似乎对
metricName=“accurity”


有关更多信息,请参阅。

这个问题不再相关,因为我能够看到预测中的差异,这与每个模型下预测的准确性一致。 这个问题出现是因为我从Jupyter笔记本上复制的数据不完整


感谢并感谢您的时间。

您应该解释您所指向的链接是什么。类似于“这是结果的图像”或“你可以在下面的链接上找到正在运行的代码”。嗨@Jeremie,这是我第一次上stack,我为缺少信息道歉。我已经编辑了我的帖子,我希望这有助于澄清我的问题。欢迎!!不用道歉!这对我们开发者来说是最好的!您好@Prem,从我有限的理解来看,我不认为我担心度量,但好奇的是两个分类模型的预测数量之间缺乏差异:selected=prediction_1。为selected中的行选择(“features”、“Label”、“chorn”、“prediction”)。collect():print(row)@Shashank你能运行建议的代码,然后确认两种型号的
准确性吗?对不起,伙计们,数据有差异。这个错误是我的,我没有从Jupyter复制我手机中的所有数据。没问题:)我建议不要删除这个问题,因为它可能会对正在寻找LR/RF实现的人有所帮助。
selected = prediction_1.select("features", "Label", "Churn", "prediction")
for row in selected.collect():
    print(row)
predictions = model.transform(test)
evaluator = MulticlassClassificationEvaluator(labelCol="indexedLabel", predictionCol="prediction", metricName="accuracy")
accuracy = evaluator.evaluate(predictions)