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


Python pyspark MaxAbsScaler用法及代碼示例

本文簡要介紹 pyspark.ml.feature.MaxAbsScaler 的用法。

用法:

class pyspark.ml.feature.MaxAbsScaler(*, inputCol=None, outputCol=None)

通過除以每個特征中的最大絕對值,將每個特征單獨重新縮放到範圍 [-1, 1]。它不會移動/居中數據,因此不會破壞任何稀疏性。

2.0.0 版中的新函數。

例子

>>> from pyspark.ml.linalg import Vectors
>>> df = spark.createDataFrame([(Vectors.dense([1.0]),), (Vectors.dense([2.0]),)], ["a"])
>>> maScaler = MaxAbsScaler(outputCol="scaled")
>>> maScaler.setInputCol("a")
MaxAbsScaler...
>>> model = maScaler.fit(df)
>>> model.setOutputCol("scaledOutput")
MaxAbsScalerModel...
>>> model.transform(df).show()
+-----+------------+
|    a|scaledOutput|
+-----+------------+
|[1.0]|       [0.5]|
|[2.0]|       [1.0]|
+-----+------------+
...
>>> scalerPath = temp_path + "/max-abs-scaler"
>>> maScaler.save(scalerPath)
>>> loadedMAScaler = MaxAbsScaler.load(scalerPath)
>>> loadedMAScaler.getInputCol() == maScaler.getInputCol()
True
>>> loadedMAScaler.getOutputCol() == maScaler.getOutputCol()
True
>>> modelPath = temp_path + "/max-abs-scaler-model"
>>> model.save(modelPath)
>>> loadedModel = MaxAbsScalerModel.load(modelPath)
>>> loadedModel.maxAbs == model.maxAbs
True
>>> loadedModel.transform(df).take(1) == model.transform(df).take(1)
True

相關用法


注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.ml.feature.MaxAbsScaler。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。