spark sql 读取hive数据表后,如何对数据中每列进行归一化,求指教

菜鸟磊子 2016-10-12 07:22:34
spark sql 读取hive数据表后,如何对数据中每列进行归一化,求指教
数据量较大,样本数为16万左右,特征有300多个。
...全文
3590 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jyli2_11 2017-03-30
  • 打赏
  • 举报
回复
我也遇到了同样的问题,请问每一列转为vector的udf内部是怎么写的呢?
菜鸟磊子 2016-10-16
  • 打赏
  • 举报
回复
引用 4 楼 hehe123456ZXC 的回复:
[quote=引用 1 楼 qq_26802917 的回复:] 归一化的方法有很多种吧? 楼主确定300多个特征都要做?? StandardScaler,MinMaxScaler 楼主看一下 是否对你有帮助吧
谢谢回复,我最近在学习spark 的数据预处理,特征数据时从hive中读取到的,数据原格式为: DataFrame[ tag: int, i1: bigint, i2: bigint, i3: bigint, i4: bigint, i5: bigint ] 然后我想对特征的一些列进行归一化。 但是我看到spark提供的归一化方法中Normalizer 或者StandardScaler 归一化方法只针对vector类型。而且我发现spark的归一化是行归一化,我想进行列归一化。 有点搞不明白,求指教。[/quote]
引用 5 楼 qq_26802917 的回复:
那你需要的是一个行转列的操作 PIVOT
自己找到了解决方法了,使用的是MinMaxScaler,它可以针对列进行列的归一化,首先利用udf将列的每个的特征变成vector类型,然后针对每列进行MinMaxScaler操作,最后再利用VectorAssembler 将所有将分散的vector分散的特征向量聚合成一个vector,将其聚合为"features" ,然后扔进LR中进行训练。多谢你的指导。 自己自学spark,遇到了不少小问题,多谢您的指导。
qq_26802917 2016-10-16
  • 打赏
  • 举报
回复
那你需要的是一个行转列的操作 PIVOT
菜鸟磊子 2016-10-14
  • 打赏
  • 举报
回复
引用 1 楼 qq_26802917 的回复:
归一化的方法有很多种吧? 楼主确定300多个特征都要做?? StandardScaler,MinMaxScaler 楼主看一下 是否对你有帮助吧
谢谢回复,我最近在学习spark 的数据预处理,特征数据时从hive中读取到的,数据原格式为: DataFrame[ tag: int, i1: bigint, i2: bigint, i3: bigint, i4: bigint, i5: bigint ] 然后我想对特征的一些列进行归一化。 但是我看到spark提供的归一化方法中Normalizer 或者StandardScaler 归一化方法只针对vector类型。而且我发现spark的归一化是行归一化,我想进行列归一化。 有点搞不明白,求指教。
菜鸟磊子 2016-10-14
  • 打赏
  • 举报
回复
谢谢回复,我最近在学习spark 的数据预处理,特征数据时从hive中读取到的,数据原格式为: DataFrame[ tag: int, i1: bigint, i2: bigint, i3: bigint, i4: bigint, i5: bigint ] 然后我想对特征的一些列进行归一化。 但是我看到spark提供的归一化方法中Normalizer 或者StandardScaler 归一化方法只针对vector类型。而且我发现spark的归一化是行归一化,我想进行列归一化。 有点搞不明白,求指教。
菜鸟磊子 2016-10-14
  • 打赏
  • 举报
回复
谢谢回复,我最近在学习spark 的数据预处理,特征数据时从hive中读取到的,数据原格式为: DataFrame[ tag: int, i1: bigint, i2: bigint, i3: bigint, i4: bigint, i5: bigint ] 然后我想对特征的一些进行归一化。 但是我看到spark提供的归一化方法中Normalizer 或者StandardScaler 归一化方法只针对vector类型。而且我发现spark的归一化是行归一化,我想进行列归一化。 有点搞不明白,求指教。
qq_26802917 2016-10-13
  • 打赏
  • 举报
回复
归一化的方法有很多种吧? 楼主确定300多个特征都要做?? StandardScaler,MinMaxScaler 楼主看一下 是否对你有帮助吧

1,258

社区成员

发帖
与我相关
我的任务
社区描述
Spark由Scala写成,是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于MapReduce算法实现的分布式计算。
社区管理员
  • Spark
  • shiter
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧