當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。