gpt4 book ai didi

apache-spark - 理解 Spark SQL 中向量列的表示

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

在我使用 VectorAssembler() 来整合一些 OneHotEncoded 分类特征之前......我的数据框看起来像这样:

|  Numerical|  HotEncoded1|   HotEncoded2
| 14460.0| (44,[5],[1.0])| (3,[0],[1.0])|
| 14460.0| (44,[9],[1.0])| (3,[0],[1.0])|
| 15181.0| (44,[1],[1.0])| (3,[0],[1.0])|

第一列是数字列,另外两列表示 OneHotEncoded 分类特征的转换数据集。应用 VectorAssembler() 后,我的输出变为:
[(48,[0,1,9],[14460.0,1.0,1.0])]
[(48,[0,3,25],[12827.0,1.0,1.0])]
[(48,[0,1,18],[12828.0,1.0,1.0])]

我不确定这些数字是什么意思,也无法理解这个转换后的数据集。对这个输出意味着什么进行一些澄清会很棒!

最佳答案

此输出并非特定于 VectorAssembler .它只是 o.a.s.ml.linalg.SparseVector 的字符串表示( o.a.s.mllib.linalg.SparseVector 在 Spark < 2.0 中)具有:

  • 表示向量长度的前导数
  • 括号中的第一组数字是非零索引列表
  • 括号中的第二组数字是对应于索引
  • 的值列表

    所以 (48,[0,1,9],[14460.0,1.0,1.0])表示长度为 48 的向量,具有三个非零条目:
  • 第 0 个位置的 14460.0
  • 1.0 在第一个位置
  • 1.0 在第 9 位

  • 几乎相同的描述适用于 HotEncoded1HotEncoded2Numerical只是一个标量。不见 metadata和构造函数不能说太多,但编码变量应该有 44 和 3 或 45 和 4 级(取决于 dropLast 参数)。

    关于apache-spark - 理解 Spark SQL 中向量列的表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38236389/

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