Spark PCA

在机器学习或者数据挖掘中,得到的数据往往维度过高,含有噪音,需要把多指标转化为少数几个综合指标的数据。pca是机器学习框架中常用的一个功能,spark机器模块也实现了这一功能。


PCA主要的几个方法

设置输入项的字段

def setInputCol(value: String): this.type = set(inputCol, value)

设置输出项的字段

def setOutputCol(value: String): this.type = set(outputCol, value)

设置转化的维度个数

def setK(value: Int): this.type = set(k, value)

训练模型

def fit(dataset: Dataset[_]): PCAModel

利用模型转化数据

def transform(dataset: Dataset[_]): DataFrame


Spark PCA 示例

    val spark = SparkSession.builder().appName("pca").master("local[4]").getOrCreate()val file = spark.read.format("csv").option("sep",",").option("header","true").load("boston_house_prices.csv")file.show(true)import spark.implicits._//打乱顺序val rand = new Random()val data = file.select("MEDV", "CRIM", "ZN", "INDUS", "CHAS", "NOX", "RM", "AGE", "DIS", "RAD", "TAX", "PTRATIO", "B", "LSTAT").map(row => (row.getAs[String](0).toDouble, row.getString(1).toDouble, row.getString(2).toDouble, row.getString(3).toDouble, row.getString(4).toDouble, row.getString(5).toDouble, row.getString(6).toDouble, row.getString(7).toDouble, row.getString(8).toDouble, row.getString(9).toDouble, row.getString(10).toDouble, row.getString(11).toDouble, row.getString(12).toDouble, row.getString(13).toDouble, rand.nextDouble())).toDF("price", "crim", "zn", "indus", "chas", "nox", "rm", "age", "dis", "rad", "tax", "ptratio", "b", "lstat", "rand").sort("rand") //强制类型转换过程data.show(true)val assembler = new VectorAssembler().setInputCols(Array("crim", "zn", "indus", "chas", "nox", "rm", "age", "dis", "rad", "tax", "ptratio", "b", "lstat", "rand")).setOutputCol("features")val pca = new PCA().setInputCol("features").setOutputCol("featuresPca").setK(3)val assembler_data = assembler.transform(data)val pca_model = pca.fit(assembler_data)val pca_data = pca_model.transform(assembler_data)pca_data.select("features","featuresPca").show(false)

数据从 64 维度降到3 维






与朱元思书

【作者】吴均 【朝代】南北朝
风烟俱净,天山共色。从流飘荡,任意东西。自富阳至桐庐一百许里,奇山异水,天下独绝。
水皆缥碧,千丈见底。游鱼细石,直视无碍。急湍甚箭,猛浪若奔。
夹岸高山,皆生寒树,负势竞上,互相轩邈,争高直指,千百成峰。
泉水激石,泠泠作响;好鸟相鸣,嘤嘤成韵。蝉则千转不穷,猿则百叫无绝。鸢飞戾天者,望峰息心;
经纶世务者,窥谷忘反。横柯上蔽,在昼犹昏;疏条交映,有时见日。

spark -- PCA相关推荐

  1. java spark 主成分分析算法(pca)

    配置 配置请看我的其他文章 点击跳转 spark官方文档 点击跳转官方文档 数据 训练数据 代码 PCA算法的应用场景不是太明确,没做太多验证 实体类 用了swagger和lombok 不需要的可以删 ...

  2. 基于Spark的机器学习实践 (九) - 聚类算法

    0 相关源码 1 k-平均算法(k-means clustering)概述 1.1 回顾无监督学习 ◆ 分类.回归都属于监督学习 ◆ 无监督学习是不需要用户去指定标签的 ◆ 而我们看到的分类.回归算法 ...

  3. 新版本来袭:Apache Spark 1.5新特性介绍

    Apache Spark社区2015年9月9日发布了1.5版本,该版本由230+开发人员和80+机构参与,修复了1400多个补丁,该版本可以通过 http://spark.apache.org/dow ...

  4. Spark 1.0.0版本发布

    前言 如今Spark终于迈出了里程碑一步,1.0.0标记的版本号出版物Spark1.0时代.1.0.0版本号不仅增加了非常多新特性.而且提供了更好的API支持.Spark SQL作为一个新的组件增加. ...

  5. 离线轻量级大数据平台Spark之MLib机器学习库概念学习

    Mlib机器学习库 1.1机器学习概念 机器学习有很多定义,倾向于下面这个定义.机器学习是对能通过经验自动改进的计算机算法的研究.机器学习依赖数据经验并评估和优化算法所运行出的模型.机器学习算法尝试根 ...

  6. 学习笔记Spark(九)—— Spark MLlib应用(1)—— 机器学习简介、Spark MLlib简介

    一.机器学习简介 1.1.机器学习概念 机器学习就是让机器能像人一样有学习.理解.认识的能力. 机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能. ...

  7. spark 不同模式用途_Spark中那些常用的特征处理操作

    摘要:通常在大厂实际项目中会使用Spark来处理大规模数据下的数据挖掘和分析相关工作.本篇从项目实战中总结常用的Spark特征处理实例,方便小伙伴们更好的使用Spark做数据挖掘相关的工作. 目录 0 ...

  8. Spark机器学习库(MLlib)指南

    spark-1.6.1 机器学习库(MLlib)指南 MLlib是Spark的机器学习(ML)库.旨在简化机器学习的工程实践工作,并方便扩展到更大规模.MLlib由一些通用的学习算法和工具组成,包括分 ...

  9. Apache Spark 1.5新特性介绍

    Apache Spark社区刚刚发布了1.5版本,大家一定想知道这个版本的主要变化,这篇文章告诉你答案. DataFrame执行后端优化(Tungsten第一阶段) DataFrame可以说是整个Sp ...

最新文章

  1. Android实现RecyclerView侧滑删除和长按拖拽-ItemTouchHelper
  2. 自制php操作mysql工具类(DB.class.php)
  3. rawquery 没扎到返回什么_当mysql_query返回false时
  4. 计算机组成原理码质变换,计算机组成原理负数的8421码
  5. oracle 索引invisible,Oracle index unusable和invisible的区别
  6. 中国人为什么学不会英语
  7. php裁剪图片并上传源码,改写jcrop插件+php的图片上传实现与裁剪一体化
  8. 电脑刷机重装系统_手机刷机,原来也没有那么复杂
  9. delphi 连接DBF
  10. linux下安卓刷机,linux下安卓刷机脚本
  11. SQLPlus登录及使用
  12. linux 查看go安装目录,Linux系统安装Go语言的步骤
  13. 后盾网php 百度盘,后盾网PHP操作exce视频教程
  14. English写作-如何运用such as、for example、etc.、i.e.
  15. 除硬件外 计算机系统不可缺少的,计算机应用基础选择精选100题.doc
  16. 红轴和茶轴哪个声音大 红轴和茶轴哪个适合打字
  17. 计算机硬件——显示器原理
  18. JFreeChart饼状图显示数字
  19. 加州大学圣地亚哥分校计算机科学排名,加州大学圣地亚哥分校UCSD计算机科学Computer Science专业排名第37位(2021年THE世界大学商科排名)...
  20. linux srr 乱码,批量下载SRR数据

热门文章

  1. vmware workstation虚拟机连接外网(Nat模式)
  2. 服务器网站扩容一年1g价格,服务器网站扩容 一年1G价格
  3. 安全基础--18--嵌入式基础之系统硬件
  4. 客户端 cloudera-scm-agent启动报错
  5. MySQL 慢查询日志导入 Elasticsearch 可视化查询分析
  6. 金泰克/tigo S300 240G SM2256K H27QFG8PEM5R 完整开盘教程
  7. thinkphp6 防范xss攻击
  8. jude(java建模软件)_JUDE电脑版下载|
  9. 求质数个数(求素数个数
  10. 【深度优先搜索算法】与【宽度优先搜索算法】