栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

是否可以在Spark中按组缩放数据?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

是否可以在Spark中按组缩放数据?

这不是一个很好的解决方案,但是您可以调整我对类似Scala问题的答案。让我们从一个示例数据开始:

import numpy as npnp.random.seed(323)keys = ["foo"] * 50 + ["bar"] * 50values = (    np.vstack([np.repeat(-10, 500), np.repeat(10, 500)]).reshape(100, -1) +    np.random.rand(100, 10))rdd = sc.parallelize(zip(keys, values))

不幸的

MultivariateStatisticalSummary
是,它只是围绕JVM模型的包装,并且它并不是真正的Python友好。幸运的是,有了NumPy数组,我们可以使用standard
StatCounter
通过键来计算统计信息:

from pyspark.statcounter import StatCounterdef compute_stats(rdd):    return rdd.aggregateByKey(        StatCounter(), StatCounter.merge, StatCounter.mergeStats    ).collectAsMap()

最后我们可以

map
归一化:

def scale(rdd, stats):    def scale_(kv):        k, v = kv        return (v - stats[k].mean()) / stats[k].stdev()    return rdd.map(scale_)scaled = scale(rdd, compute_stats(rdd))scaled.first()## array([ 1.59879188, -1.66816084,  1.38546532,  1.76122047,  1.48132643,##    0.01512487,  1.49336769,  0.47765982, -1.04271866,  1.55288814])


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/455965.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号