前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spark ML 正则化 标准化 归一化 ---- spark 中的归一化

Spark ML 正则化 标准化 归一化 ---- spark 中的归一化

作者头像
流川疯
发布2021-12-06 15:44:55
1.5K0
发布2021-12-06 15:44:55
举报
文章被收录于专栏:流川疯编写程序的艺术

文章大纲

spark 中的归一化

MaxAbsScaler

MinMaxScaler

Rescale each feature individually to a common range min, max linearly using column summary

statistics, which is also known as min-max normalization or Rescaling. The rescaled value for

feature E is calculated as:

Rescaled(e_i) = \frac{e_i - E_{min}}{E_{max} - E_{min}} * (max - min) + min

For the case (E_{max} == E_{min}), (Rescaled(e_i) = 0.5 * (max + min)).

note :

Since zero values will probably be transformed to non-zero values, output of the transformer will be DenseVector even for sparse input.

核心代码:主要就是计算 最大最小值

代码语言:javascript
复制
override def fit(dataset: Dataset[_]): MinMaxScalerModel = {
    transformSchema(dataset.schema, logging = true)

    val Row(max: Vector, min: Vector) = dataset
      .select(Summarizer.metrics("max", "min").summary(col($(inputCol))).as("summary"))
      .select("summary.max", "summary.min")
      .first()

    copyValues(new MinMaxScalerModel(uid, min.compressed, max.compressed).setParent(this))
  }

注意: 上面的计算方式, 我们发现只能支持Vector的形式,那么对于但一值的情况如何转换呢?

代码语言:javascript
复制
 val temp_mean = df_num.select(functions.mean(df_num.col("features"))).collect()(0)
        println(temp_mean.getDouble(0))
       val Row(mean2: Vector) =Row(Vectors.dense(temp_mean.getDouble(0)))

   val df_num = spark.createDataFrame(Seq(
            (0, 0.5, -1.0),
            (1, 1.0, 1.0),
            (2, 10.0, 2.0),
            (3, 10.0, 0.0)
        )).toDF("id", "features","result")
        df.show()

参考文献

系列文章:

spark 中的 特征相关内容处理的文档

概念简介

参考:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/08/28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章大纲
  • spark 中的归一化
    • MaxAbsScaler
      • MinMaxScaler
      • 参考文献
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档