Spark中组件Mllib的学习15之创建分布式矩阵
更多代码请见:https://github.com/xubo245/SparkLearning
Spark中组件Mllib的学习之基础概念篇
1解释
创建分布式矩阵
2.代码:
/*** @author xubo* ref:Spark MlLib机器学习实战* more code:https://github.com/xubo245/SparkLearning* more blog:http://blog.csdn.net/xubo245*/
package org.apache.spark.mllib.learning.basicimport org.apache.spark.mllib.linalg.Matrices
import org.apache.spark.mllib.util.MLUtils
import org.apache.spark.{SparkContext, SparkConf}/*** Created by xubo on 2016/5/23.* 创建分布式矩阵*/
object MatrixLearning {def main(args: Array[String]) {val mx = Matrices.dense(2, 3, Array(1, 2, 3, 4, 5, 6)) //创建一个分布式矩阵println(mx) //打印结果val arr=(1 to 6).toArray.map(_.toDouble)val mx2 = Matrices.dense(2, 3, arr) //创建一个分布式矩阵println(mx2) //打印结果val arr3=(1 to 20).toArray.map(_.toDouble)val mx3 = Matrices.dense(4, 5, arr3) //创建一个分布式矩阵println(mx3) //打印结果println(mx3.index(0,0))println(mx3.index(1,1))println(mx3.index(2,2))println(mx3.numRows)println(mx3.numCols)}
}
3.结果:
1.0 3.0 5.0
2.0 4.0 6.0 1.0 3.0 5.0
2.0 4.0 6.0 1.0 5.0 9.0 13.0 17.0
2.0 6.0 10.0 14.0 18.0
3.0 7.0 11.0 15.0 19.0
4.0 8.0 12.0 16.0 20.0
0
5
10
4
5
感觉index有问题:
源码:
/** Return the index for the (i, j)-th element in the backing array. */private[mllib] def index(i: Int, j: Int): Int
在dense的时候:
private[mllib] def index(i: Int, j: Int): Int = {if (!isTransposed) i + numRows * j else j + numCols * i}
如果按照这个源码理解没问题
将数组改为:
val arr3=(21 to 40).toArray.map(_.toDouble)
21.0 25.0 29.0 33.0 37.0
22.0 26.0 30.0 34.0 38.0
23.0 27.0 31.0 35.0 39.0
24.0 28.0 32.0 36.0 40.0
0
5
10
4
5
疑问:如何按照坐标打印元素?比如(1,1)对应6
参考
【1】http://spark.apache.org/docs/1.5.2/mllib-guide.html
【2】http://spark.apache.org/docs/1.5.2/programming-guide.html
【3】https://github.com/xubo245/SparkLearning
Spark中组件Mllib的学习15之创建分布式矩阵相关推荐
- Spark中组件Mllib的学习16之分布式行矩阵的四种形式
来源:http://blog.csdn.net/xubo245/article/details/51483995 更多代码请见:https://github.com/xubo245/SparkLear ...
- Spark中组件Mllib的学习19之分层抽样
更多代码请见:https://github.com/xubo245/SparkLearning Spark中组件Mllib的学习之基础概念篇 1解释 分层抽样的概念就不讲了,具体的操作: RDD有个操 ...
- Spark中组件Mllib的学习40之梯度提升树(GBT)用于回归
更多代码请见:https://github.com/xubo245/SparkLearning Spark中组件Mllib的学习之分类篇 1解释 GBRT(Gradient Boost Regr ...
- Spark中组件Mllib的学习41之保序回归(Isotonic regression)
更多代码请见:https://github.com/xubo245/SparkLearning Spark中组件Mllib的学习之分类篇 1解释 问题描述:给定一个无序数字序列,要求不改变每个元素的位 ...
- Spark中组件Mllib的学习11之使用ALS对movieLens中一百万条(1M)数据集进行训练,并对输入的新用户数据进行电影推荐
更多代码请见:https://github.com/xubo245/SparkLearning 1解释 spark-1.5.2 数据集:http://grouplens.org/datasets/mo ...
- Spark中组件Mllib的学习1之Kmeans错误解决
更多代码请见:https://github.com/xubo245/SparkLearning 解决办法:(中间比较多,为了方便看到,放在最开始) txt文件格式不对,用WPS转存的是UTF-16,s ...
- 什么是spark的惰性计算?有什么优势?_spark——spark中常说RDD,究竟RDD是什么?
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是spark专题第二篇文章,我们来看spark非常重要的一个概念--RDD. 在上一讲当中我们在本地安装好了spark,虽然我们只有lo ...
- spark 中的RDD编程:基于Java api
1.RDD介绍: RDD,弹性分布式数据集,即分布式的元素集合.在spark中,对所有数据的操作不外乎是创建RDD.转化已有的RDD以及调用RDD操作进行求值.在这一切的背后,Spark会自动将RDD ...
- Easy EDA #学习笔记08# | 创建元件库(原理图库与PCB封装库)
目录 引言 1. 创建原理图库 1.1 创建原理图库的流程 1.2 新建原理图库 1.3 制作电阻原理图符号 1.3.1 绘制元件符号 1.3.2 添加属性信息 2. 创建PCB库 2.1创建PCB封 ...
最新文章
- matplotlib可视化时间序列数据、并高亮时间序列中的指定区域(Highlight a Region of Time-Series Plot with Matplotlib)
- vc++6.0获取磁盘基本信息_分享一个实用脚本--一键获取linux内存、cpu、磁盘IO等信息...
- 面试系列八 es写入数据的工作原理
- RTEMS 的 AT91SAM9260 移植(5): 调试串口驱动
- 了解c语言程序员(工程师)岗位需要掌握哪些能力?_码畜,码农,码皇,程序员有什么区别?...
- 详解分布式协调服务 ZooKeeper
- Object类中的toString方法
- mahout0.7 示例运行纪实
- 怎么windows升级?windows版本升级?
- 007. VMware 创建共享文件夹
- NVIDIA:构建加速计算生态,推动深度学习应用落地
- 阿里第九版Java系统架构师+应用架构师面试突击宝典
- 如何打印计算机文档目录,word怎么把目录显示出来
- android 横屏转竖屏,(转)Android强制设置横屏或竖屏
- 手持车辆管理的神器插件,移动端车牌识别技术
- Java基础学习总结(98)——阿里巴巴Java开发手册
- Centos下安装SSH、FTP服务
- chfs http 文件共享服务
- 手把手教你启用多可文档的数据备份
- 越专业的人,在下一个时代死得越惨烈!