基于sparkMLlib的机器学习_[1]_基本数据类型[4]分布式矩阵DistrubutedMatrix
参考: 《spark MLlib机器学习实践》 《SPARK MLLIB机器学习 算法、源码及实战详解》 http://spark.apache.org/docs/latest/ml-guide.html
分布式矩阵:当数据量较大时使用,行和列为Long,值为Double 按照存储形式: (1) 行矩阵 (2) 索引行矩阵 (3) 坐标矩阵 (4) 块矩阵 1-行矩阵 相同格式的特征向量的集合,可以行为单位读写 行和列 2-索引行矩阵 行矩阵不便于调试显示,引入索引行矩阵 类型转换为:行距阵,坐标矩阵,块矩阵 3-坐标矩阵
package com.dt.spark.main.MLlib.BasicConceptimport org.apache.spark.mllib.linalg.Vectors
import org.apache.spark.mllib.linalg.distributed._
import org.apache.spark.{SparkContext, SparkConf}/*** Created by hjw on 17/1/19.*/
//分布式矩阵:当数据量较大时使用,行和列为Long,值为Double
//按照存储形式:
//(1) 行矩阵
//(2) 索引行矩阵
//(3) 坐标矩阵
//(4) 块矩阵
//1-行矩阵
//相同格式的特征向量的集合,可以行为单位读写
//行和列
//2-索引行矩阵
//行矩阵不便于调试显示,引入索引行矩阵
//类型转换为:行距阵,坐标矩阵,块矩阵
//3-坐标矩阵
//(x,y,value:Double)object DistrubutedMatrixTest {def main(args: Array[String]) {//==========1-行矩阵================//相同格式的特征向量的集合,可以行为单位读写val conf = new SparkConf().setMaster("local").setAppName("DistrubutedMatrixTest")val sc = new SparkContext(conf)val rdd = sc.textFile("./src/com/dt/spark/main/MLlib/BasicConcept/src/rowMatrix.txt")//rdd :MapPartitionsRDD[1]val rddtmp = rdd.map(_.split(" ").map(_.toDouble)) //切分并转成Double.map(Vectors.dense(_)) //每行转成航矩阵println(rddtmp)//MapPartitionsRDDval rm = new RowMatrix(rddtmp)println("行数: "+ rm.numRows() + "\n" +"列数: " + rm.numCols())// 行数: 2// 列数: 4//==========2-索引行矩阵================val iRdd = rdd.map(_.split(" ").map(_.toDouble)) //切分并转成Double.map(Vectors.dense(_)) //每行转成航矩阵.map(vd => new IndexedRow(vd.size,vd)) //格式转化val indexRm = new IndexedRowMatrix(iRdd)//调试显示内容println("索引行矩阵行遍历:\n" )indexRm.rows.foreach(println(_))// 索引行矩阵行遍历:// IndexedRow(4,[1.0,1.0,1.0,1.0])// IndexedRow(4,[2.0,2.0,2.0,2.0])val toRm = indexRm.toRowMatrix()val toCrm = indexRm.toCoordinateMatrix()val toBrm = indexRm.toBlockMatrix()//========3-坐标矩阵==========val rdd_1 = rdd.map(_.split(" ").map(_.toDouble)).map(value=>(value(0).toLong,value(1).toLong,value(2))).map(va=>new MatrixEntry(va._1,va._2,va._3))val coorRm = new CoordinateMatrix(rdd_1)println(coorRm.entries.foreach(println))// MatrixEntry(1,1,1.0)// MatrixEntry(2,2,2.0)// ()sc.stop()}}
基于sparkMLlib的机器学习_[1]_基本数据类型[4]分布式矩阵DistrubutedMatrix相关推荐
- 基于张量机器学习模型_什么是基于模型的机器学习?
基于张量机器学习模型 About Tom: Tom Diethe is a research fellow on the SPHERE project at the University of Bri ...
- python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断
是新朋友吗?记得先点蓝字关注我哦- (图片来自于网络) 1 引言 将机器学习方法应用于脑电信号的自动分析,特别是在基于脑电信号的临床诊断领域,因其巨大的应用前景而引起了广泛的兴趣.例如,它是检测和预测 ...
- 机器学习系列(8)_读《Nature》论文,看AlphaGo养成
机器学习系列(8)_读<Nature>论文,看AlphaGo养成 标签: 机器学习算法深度学习神经网络蒙特卡罗树搜索 2016-03-16 11:23 17843人阅读 评论(8) 收藏 ...
- 机器学习系列(2)_从初等数学视角解读逻辑回归
作者:龙心尘 && 寒小阳 时间:2015年10月. 出处:http://blog.csdn.net/longxinchen_ml/article/details/49284391 ...
- 机器学习 凝聚态物理_机器学习遇到了凝聚的问题
机器学习 凝聚态物理 为什么要机器学习? (Why machine learning?) Machine learning is one of today's most rapidly cutting ...
- 使用机器学习预测天气_使用机器学习的二手车价格预测
使用机器学习预测天气 You can reach all Python scripts relative to this on my GitHub page. If you are intereste ...
- 机器学习导论�_机器学习导论
机器学习导论� Say you are practising basketball on your own and you are trying to shoot the ball into the ...
- 《成为一名机器学习工程师》_如何在2020年成为机器学习工程师
<成为一名机器学习工程师> 机器学习工程 (Machine Learning Engineering) The title of "Machine Learning Engine ...
- 机器学习 异常值检测_异常值是否会破坏您的机器学习预测? 寻找最佳解决方案
机器学习 异常值检测 内部AI (Inside AI) In the world of data, we all love Gaussian distribution (also known as a ...
最新文章
- 我焦躁,并不只是心里承受,还是因为我上面担着。
- Ubuntu常见命令记录
- ABP理论学习之开篇介绍
- 实战SSM_O2O商铺_10【商铺注册】Service层的实现
- 解决浏览器刷新vuex数据丢失问题
- Qt Creator将对象连接到信号
- 自己写的TimeHelper javal时间工具
- 推荐系统--矩阵分解(2)
- 【初赛】NOIP2018程序模板
- 小程序-涂鸦画笔(案例-集福)
- matlab中目录的相关操作
- JVM学习系列之对象访问的两种方式句柄和直接指针
- 信用评分卡 (part 3of 7)
- IPQ4019 QSDK 下添加RM500Q 5G 驱动 qmi拨号链接网络 配置 IPK包方法
- NXP JN5169滴答定时器中断回调函数
- 外设驱动库开发笔记41:ADS1256 ADC驱动
- 调整autocad字体输入框大小
- hadoop集群搭建及易踩坑收录
- FIN_WAIT_2状态解释
- js中正则表达式的应用