spark -- PCA
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相关推荐
- java spark 主成分分析算法(pca)
配置 配置请看我的其他文章 点击跳转 spark官方文档 点击跳转官方文档 数据 训练数据 代码 PCA算法的应用场景不是太明确,没做太多验证 实体类 用了swagger和lombok 不需要的可以删 ...
- 基于Spark的机器学习实践 (九) - 聚类算法
0 相关源码 1 k-平均算法(k-means clustering)概述 1.1 回顾无监督学习 ◆ 分类.回归都属于监督学习 ◆ 无监督学习是不需要用户去指定标签的 ◆ 而我们看到的分类.回归算法 ...
- 新版本来袭:Apache Spark 1.5新特性介绍
Apache Spark社区2015年9月9日发布了1.5版本,该版本由230+开发人员和80+机构参与,修复了1400多个补丁,该版本可以通过 http://spark.apache.org/dow ...
- Spark 1.0.0版本发布
前言 如今Spark终于迈出了里程碑一步,1.0.0标记的版本号出版物Spark1.0时代.1.0.0版本号不仅增加了非常多新特性.而且提供了更好的API支持.Spark SQL作为一个新的组件增加. ...
- 离线轻量级大数据平台Spark之MLib机器学习库概念学习
Mlib机器学习库 1.1机器学习概念 机器学习有很多定义,倾向于下面这个定义.机器学习是对能通过经验自动改进的计算机算法的研究.机器学习依赖数据经验并评估和优化算法所运行出的模型.机器学习算法尝试根 ...
- 学习笔记Spark(九)—— Spark MLlib应用(1)—— 机器学习简介、Spark MLlib简介
一.机器学习简介 1.1.机器学习概念 机器学习就是让机器能像人一样有学习.理解.认识的能力. 机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能. ...
- spark 不同模式用途_Spark中那些常用的特征处理操作
摘要:通常在大厂实际项目中会使用Spark来处理大规模数据下的数据挖掘和分析相关工作.本篇从项目实战中总结常用的Spark特征处理实例,方便小伙伴们更好的使用Spark做数据挖掘相关的工作. 目录 0 ...
- Spark机器学习库(MLlib)指南
spark-1.6.1 机器学习库(MLlib)指南 MLlib是Spark的机器学习(ML)库.旨在简化机器学习的工程实践工作,并方便扩展到更大规模.MLlib由一些通用的学习算法和工具组成,包括分 ...
- Apache Spark 1.5新特性介绍
Apache Spark社区刚刚发布了1.5版本,大家一定想知道这个版本的主要变化,这篇文章告诉你答案. DataFrame执行后端优化(Tungsten第一阶段) DataFrame可以说是整个Sp ...
最新文章
- Android实现RecyclerView侧滑删除和长按拖拽-ItemTouchHelper
- 自制php操作mysql工具类(DB.class.php)
- rawquery 没扎到返回什么_当mysql_query返回false时
- 计算机组成原理码质变换,计算机组成原理负数的8421码
- oracle 索引invisible,Oracle index unusable和invisible的区别
- 中国人为什么学不会英语
- php裁剪图片并上传源码,改写jcrop插件+php的图片上传实现与裁剪一体化
- 电脑刷机重装系统_手机刷机,原来也没有那么复杂
- delphi 连接DBF
- linux下安卓刷机,linux下安卓刷机脚本
- SQLPlus登录及使用
- linux 查看go安装目录,Linux系统安装Go语言的步骤
- 后盾网php 百度盘,后盾网PHP操作exce视频教程
- English写作-如何运用such as、for example、etc.、i.e.
- 除硬件外 计算机系统不可缺少的,计算机应用基础选择精选100题.doc
- 红轴和茶轴哪个声音大 红轴和茶轴哪个适合打字
- 计算机硬件——显示器原理
- JFreeChart饼状图显示数字
- 加州大学圣地亚哥分校计算机科学排名,加州大学圣地亚哥分校UCSD计算机科学Computer Science专业排名第37位(2021年THE世界大学商科排名)...
- linux srr 乱码,批量下载SRR数据
热门文章
- vmware workstation虚拟机连接外网(Nat模式)
- 服务器网站扩容一年1g价格,服务器网站扩容 一年1G价格
- 安全基础--18--嵌入式基础之系统硬件
- 客户端 cloudera-scm-agent启动报错
- MySQL 慢查询日志导入 Elasticsearch 可视化查询分析
- 金泰克/tigo S300 240G SM2256K H27QFG8PEM5R 完整开盘教程
- thinkphp6 防范xss攻击
- jude(java建模软件)_JUDE电脑版下载|
- 求质数个数(求素数个数
- 【深度优先搜索算法】与【宽度优先搜索算法】