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


Python pyspark StandardScaler用法及代码示例


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

用法:

class pyspark.ml.feature.StandardScaler(*, withMean=False, withStd=True, inputCol=None, outputCol=None)

通过使用训练集中样本的列汇总统计数据去除均值并缩放到单位方差来标准化特征。

“unit std” 使用 corrected sample standard deviation 计算,其计算为无偏样本方差的平方根。

1.4.0 版中的新函数。

例子

>>> from pyspark.ml.linalg import Vectors
>>> df = spark.createDataFrame([(Vectors.dense([0.0]),), (Vectors.dense([2.0]),)], ["a"])
>>> standardScaler = StandardScaler()
>>> standardScaler.setInputCol("a")
StandardScaler...
>>> standardScaler.setOutputCol("scaled")
StandardScaler...
>>> model = standardScaler.fit(df)
>>> model.getInputCol()
'a'
>>> model.setOutputCol("output")
StandardScalerModel...
>>> model.mean
DenseVector([1.0])
>>> model.std
DenseVector([1.4142])
>>> model.transform(df).collect()[1].output
DenseVector([1.4142])
>>> standardScalerPath = temp_path + "/standard-scaler"
>>> standardScaler.save(standardScalerPath)
>>> loadedStandardScaler = StandardScaler.load(standardScalerPath)
>>> loadedStandardScaler.getWithMean() == standardScaler.getWithMean()
True
>>> loadedStandardScaler.getWithStd() == standardScaler.getWithStd()
True
>>> modelPath = temp_path + "/standard-scaler-model"
>>> model.save(modelPath)
>>> loadedModel = StandardScalerModel.load(modelPath)
>>> loadedModel.std == model.std
True
>>> loadedModel.mean == model.mean
True
>>> loadedModel.transform(df).take(1) == model.transform(df).take(1)
True

相关用法


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