落生* 2019-02-21 02:39 采纳率: 0%
浏览 2489

sparkMLlib PCA降维后的数据与原来的数据不一样了,怎么使用sparkMLlib PCA降维后得到数据?

原始数据矩阵如下
// 原始数据
val arr = Array(
Vectors.dense(4.0,1.0, 4.0, 5.0),
Vectors.dense(2.0,3.0, 4.0, 5.0),
Vectors.dense(4.0,0.0, 6.0, 7.0))
降维后的数据如下:
[-5.061524965038313,2.6731387750445608]
[-7.489827262491891,4.4347709591799624]
[-2.9078143281202276,4.506586481532503]

spark PCA处理后的数据代表什么意思,和原来的数据不一样,怎么利用这个数据,比如我想对它做线性回归?

  • 写回答

2条回答 默认 最新

  • 落生* 2019-02-21 06:51
    关注

    PCA(Principal Components Analysis),翻译成主成分分析,它将多维度数据压缩,保留最主要的信息维度,去掉那些不重要的,这就是PCA降维。注意:降维后的特征数据与原特征数据没有业务含义上的联系了,它是由一个高维空间投影到一个低维空间,里面的数据被投影转换到另一个维度上了,因此具体数值已经没有了原先的业务含义。举个例子,上述24维度包括本日收入、耗币数量、广场客流等,压缩成12个维度后就没有对应的12个业务概念了,这么做只是为了存留最主要的信息从而便于后续更有效的处理和分析数据。
    PCA具体执行过程如下:
    标准化原始维度数据(实质只需要减均值即可,不必标准化方差);
    计算出多维特征的协方差矩阵,从而得到矩阵的特征值和特征向量;
    将特征值从大到小排序,选取前k个主成分,找到其对应的k个特征向量;
    将原始维度数据投影到选取的k个特征向量上,原始数据特征的维度就变成了k维;
    可以用这k维数据代表原始大维度的数据,进行后续数据处理分析。

    引用:https://zhuanlan.zhihu.com/p/37495710

    评论
  • weixin_39891940 2020-11-15 14:29
    关注

    获得12维,可以直接作为输入变量,做预测吗?

    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部