当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pyspark VectorSlicer用法及代码示例


本文简要介绍 pyspark.ml.feature.VectorSlicer 的用法。

用法:

class pyspark.ml.feature.VectorSlicer(*, inputCol=None, outputCol=None, indices=None, names=None)

这个类接受一个特征向量并输出一个带有原始特征子数组的新特征向量。

可以使用索引 (setIndices()) 或名称 (setNames()) 指定特征子集。必须至少选择一项函数。不允许有重复的特征,因此选定的索引和名称之间不能有重叠。

输出向量将首先使用所选索引对特征进行排序(按给定顺序),然后是所选名称(按给定顺序)。

版本 1.6.0 中的新函数。

例子

>>> from pyspark.ml.linalg import Vectors
>>> df = spark.createDataFrame([
...     (Vectors.dense([-2.0, 2.3, 0.0, 0.0, 1.0]),),
...     (Vectors.dense([0.0, 0.0, 0.0, 0.0, 0.0]),),
...     (Vectors.dense([0.6, -1.1, -3.0, 4.5, 3.3]),)], ["features"])
>>> vs = VectorSlicer(outputCol="sliced", indices=[1, 4])
>>> vs.setInputCol("features")
VectorSlicer...
>>> vs.transform(df).head().sliced
DenseVector([2.3, 1.0])
>>> vectorSlicerPath = temp_path + "/vector-slicer"
>>> vs.save(vectorSlicerPath)
>>> loadedVs = VectorSlicer.load(vectorSlicerPath)
>>> loadedVs.getIndices() == vs.getIndices()
True
>>> loadedVs.getNames() == vs.getNames()
True
>>> loadedVs.transform(df).take(1) == vs.transform(df).take(1)
True

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.ml.feature.VectorSlicer。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。