gpt4 book ai didi

apache-spark - 写入 CSV 时 Spark 对向量值做了什么?

转载 作者:行者123 更新时间:2023-12-04 04:12:22 26 4
gpt4 key购买 nike

这是一些从 LogisticRegression 写入预测的代码的结果模型到json:

    (predictions
.drop(feature_col)
.rdd
.map(lambda x: Row(weight=x.weight,
target=x[target],
label=x.label,
prediction=x.prediction,
probability=DenseVector(x.probability)))
.coalesce(1)
.toDF()
.write
.json(
"{}/{}/summary/predictions".format(path, self._model.bestModel.uid)))

下面是生成 JSON 对象的一个​​示例:
{"label":1.0,"prediction":0.0,"probability":{"type":1,"values":[0.5835784358591029,0.4164215641408972]},"target":"Male","weight":99}

我希望能够将相同的数据输出到 CSV 文件(最好只有 probability.values[0](值数组的第一个元素)。但是,当我使用与上面相同的代码片段时,但替换 .json使用 .csv ,我得到以下结果:
1.0,0.0,"[6,1,0,0,280000001c,c00000002,af154d3100000014,a1d5659f3fe2acac,3fdaa6a6]",Male,99

第 3 列(在字符串中引用了一堆值的数组)发生了什么?

最佳答案

“概率”不仅仅是一个向量,它是 json 格式,所以你看到的是一个奇怪的对象序列化。

尝试先将其转储为字符串

withColumn("probability", col("probability").cast("string"))

关于apache-spark - 写入 CSV 时 Spark 对向量值做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39086061/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com