spark MLlib DataType ML中的数据类型
package ML.DataType; import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.mllib.linalg.*;
import org.apache.spark.mllib.linalg.distributed.*;
import org.apache.spark.mllib.regression.LabeledPoint;
import org.apache.spark.mllib.util.MLUtils; import java.util.Arrays; /**
* TODO
*
* @ClassName: DataType
* @author: DingH
* @since: 2019/4/3 10:06
*/
public class DataType {
public static void main(String[] args) { SparkConf conf = new SparkConf().setMaster("local").setAppName("Datatype");
JavaSparkContext javaSparkContext = new JavaSparkContext(conf); /**
* @Title: vectors.dense方法生成向量,sparse生成稀疏向量。第一个3是向量的大小,第二个列表是不为0的下表,第三个是对应的value.
*/
Vector dense = Vectors.dense(1.0, 0.0, 3.0);
Vector sparse = Vectors.sparse(3, new int[]{0, 2}, new double[]{1.0, 3.0}); /**
* @Title: 对向量进行标记,1.0为正,0.0为负
*/
LabeledPoint labeledPoint = new LabeledPoint(1.0, dense);
LabeledPoint labeledPoint1 = new LabeledPoint(0.0, sparse); /**
* @Title: libSVM文件: lable1 index1:value1 index2:value2
*/
JavaRDD<LabeledPoint> labeledPointJavaRDD = MLUtils.loadLibSVMFile(javaSparkContext.sc(), "/data...").toJavaRDD(); /**
* @Title: matricex.dense生成矩阵。3*2的矩阵 列式优先
* [1.0 2.0
* 3.0 4.0
* 5.0 6.0]
*/
Matrix dense1 = Matrices.dense(3, 2, new double[]{1.0, 3.0, 5.0, 2.0, 4.0, 6.0}); /**
* @Title: matricex.sparse生成稀疏矩阵。3*2的矩阵。第三个参数和第四个参数对应为不为0的元素。
* [9 0
* 0 6
* 0 8] 第三个参数: 1-0=1,3-1=2,每列不为0的元素分别是1个和2个。 第四个参数,从头开始遍历行,不为0的行。
*/
Matrix sparse1 = Matrices.sparse(3, 2, new int[]{0, 1, 3}, new int[]{0, 2, 1}, new double[]{9, 6, 8}); /**
* @Title: Rowmatrix
*/
JavaRDD<Vector> parallelize = javaSparkContext.parallelize(Arrays.asList(
Vectors.dense(1, 2, 3),
Vectors.dense(2, 3, 4),
Vectors.dense(3, 4, 5)
));
RowMatrix rowMatrix = new RowMatrix(parallelize.rdd());
long l = rowMatrix.numRows();
long l1 = rowMatrix.numCols();
QRDecomposition<RowMatrix, Matrix> rowMatrixMatrixQRDecomposition = rowMatrix.tallSkinnyQR(true); /**
* @Title: IndexedRowMatrix
*/
JavaRDD<IndexedRow> parallelize1 = javaSparkContext.parallelize(Arrays.asList(
new IndexedRow(1, dense),
new IndexedRow(2, dense),
new IndexedRow(3, dense)
));
IndexedRowMatrix indexedRowMatrix = new IndexedRowMatrix(parallelize1.rdd());
long l2 = indexedRowMatrix.numCols();
long l3 = indexedRowMatrix.numRows();
RowMatrix rowMatrix1 = indexedRowMatrix.toRowMatrix(); /**
* @Title: CoordinateMatrix
*/
JavaRDD<MatrixEntry> parallelize2 = javaSparkContext.parallelize(Arrays.asList(
new MatrixEntry(0, 1, 3),
new MatrixEntry(1, 3, 1),
new MatrixEntry(2, 1, 1)
));
CoordinateMatrix coordinateMatrix = new CoordinateMatrix(parallelize2.rdd());
long l4 = coordinateMatrix.numCols();
long l5 = coordinateMatrix.numRows();
IndexedRowMatrix indexedRowMatrix1 = coordinateMatrix.toIndexedRowMatrix(); /**
* @Title: BlocakMatrix 。 toBlockMatrix可以设置参数,规定row,col的大小,默认1024*1024
*/
BlockMatrix cache = indexedRowMatrix.toBlockMatrix().cache();
BlockMatrix cache1 = coordinateMatrix.toBlockMatrix().cache();
cache.validate();
BlockMatrix multiply = cache.transpose().multiply(cache);
}
}
spark MLlib DataType ML中的数据类型的更多相关文章
- spark mllib和ml类里面的区别
mllib是老的api,里面的模型都是基于RDD的,模型使用的时候api也是有变化的(model这里是naiveBayes), (1:在模型训练的时候是naiveBayes.run(data: RDD ...
- Spark MLlib数据类型
MLlib支持几种数据类型:本地向量(local vectors),和存储在一个简单机器中的矩阵(matrices),以及由一个或多个RDDs组成的分布式矩阵. 1,本地向量(Local Ve ...
- 在Java Web中使用Spark MLlib训练的模型
PMML是一种通用的配置文件,只要遵循标准的配置文件,就可以在Spark中训练机器学习模型,然后再web接口端去使用.目前应用最广的就是基于Jpmml来加载模型在javaweb中应用,这样就可以实现跨 ...
- Spark的MLlib和ML库的区别
机器学习库(MLlib)指南 MLlib是Spark的机器学习(ML)库.其目标是使实际的机器学习可扩展和容易.在高层次上,它提供了如下工具: ML算法:通用学习算法,如分类,回归,聚类和协同过滤 特 ...
- 基于spark Mllib(ML)聚类实战
写在前面的话:由于spark2.0.0之后ML中才包括LDA,GaussianMixture 模型,这里k-means用的是ML模块做测试,LDA,GaussianMixture 则用的是ML ...
- Spark Mllib里的Mllib基本数据类型(图文详解)
不多说,直接上干货! Spark Mllib基本数据类型,根据不同的作用和应用场景,分为四种不同的类型 1.Local vector : 本地向量集,主要向spark提供一组可进行操作的数据集合 2 ...
- 转载:Databricks孟祥瑞:ALS 在 Spark MLlib 中的实现
Databricks孟祥瑞:ALS 在 Spark MLlib 中的实现 发表于2015-05-07 21:58| 10255次阅读| 来源<程序员>电子刊| 9 条评论| 作者孟祥瑞 大 ...
- Spark MLlib中KMeans聚类算法的解析和应用
聚类算法是机器学习中的一种无监督学习算法,它在数据科学领域应用场景很广泛,比如基于用户购买行为.兴趣等来构建推荐系统. 核心思想可以理解为,在给定的数据集中(数据集中的每个元素有可被观察的n个属性), ...
- Apache Spark源码走读之23 -- Spark MLLib中拟牛顿法L-BFGS的源码实现
欢迎转载,转载请注明出处,徽沪一郎. 概要 本文就拟牛顿法L-BFGS的由来做一个简要的回顾,然后就其在spark mllib中的实现进行源码走读. 拟牛顿法 数学原理 代码实现 L-BFGS算法中使 ...
随机推荐
- windows配置MySQL
mysql安装.启动和基础配置 --windows版本 1.把下载好的zip文件解压到任意目录下,这个目录就是mysql的安装目录. 2.打开目录找到my-default.ini这个配置文件,复制这个 ...
- mongoDB 其他数据类型
时间 类型 获取当前时间 new Date() 自动生成当前时间(国际标准时间) db.class.insertOne({book:"数学",date:new Date()}) D ...
- Docker 安装应用
Docker 安装应用 安装 odoo 10 : docker pull postgres:9.6 &&docker pull odoo:10 && docker ru ...
- 2019The Preliminary Contest for ICPC China Nanchang National Invitational
The Preliminary Contest for ICPC China Nanchang National Invitational 题目一览表 考察知识点 I. Max answer 单调栈+ ...
- 信号(1): signal
1. 头文件#include <signal.h> 2. 功能设置某一信号的对应动作 3. 函数原型void (*signal(int signum,void(* handler)(int ...
- Vue工具
首先介绍几个概念 webpack: 打包机.它能将我们的html,css,js.png,font进行打包,交给服务器. vue-cli: 用户生成Vue工程模板.(帮你快速开始一个vue的项目,也就是 ...
- mui扩展字体在哪里下载
一次在一个知名前端模板网站上用积分下载了一个手机网页模板,没想到作者竟然玩起了删减隐藏,故意挖坑. 查看其原因是少一个mui.ttf的文件,纵然其他的文件及名称都有删改但无关紧要.也就是好多人搜索的m ...
- dpkg用管道批量删除deb
dpkg -l |grep deepin|awk '{print $2}'|xargs sudo dpkg -P
- Vim使用技巧:特定文件类型关联缩进
Vim如何打开特定文件类型关联自动缩进呢?答案:将filetype indent on写入你的.vimrc文件中
- redis远程连接报错记录
错误如下 redis可视化工具连接测试 telnet ip 6379 修改关键参数如下 #开通外网访问 # bind 127.0.0.1 #以后台方式运行 daemonize no #取消保护模式,保 ...