Spark架构图如下:
Spark 的计算过程:Stage内部数据高效并行计算,Stage边缘处进行消耗资源的shuffle或者reduce操作。
特征处理方法:
1.类别特征:one-hot编码
2.数值特征:归一化(不同类别特征权重不统一)与分桶(解决特征值分布不均与,过程:特征值高低排序->分位数->分样本->桶id作为特征值)。
ps。当有些特征我们需要用但又不知道怎么用时,可以对其多次不同采样 看看效果。
课后思考请你查阅一下 Spark MLlib 的编程手册,找出 normalizer、StandardScaler、RobustScaler、MinMaxScaler 这个几个特征处理方法有什么不同。你能试着运行一下 SparrowRecSys 中的 FeatureEngineering 类,从输出的结果中找出,到底哪一列是我们处理好的 One-hot 特征和 Multi-hot 特征吗?以及这两个特征是用 Spark 中的什么数据结构来表示的呢?
normalizer:正则化,按行处理,对每个 样本计算其p范数(该样本中每个元素除以其范数)。
StandardScaler:标准化,(xi - u) / σ,可得到均值为0,方差为1的正态分布。
RobustScaler: (xi - median) / iqr,(iqr样本的四分位数)
MinMaxScaler:数据归一化,(xi - min(x)) / (max(x) - min(x)),收敛到[0,1]之间
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。