0
点赞
收藏
分享

微信扫一扫

Spark MLlib机器学习学习笔记 -- 01. 使用breeze库函数创建矩阵和向量

使用breeze库创建矩阵和向量

引入依赖

<dependency>
	<groupId>org.apache.spark</groupId>
    <artifactId>spark-mllib_2.11</artifactId>
    <version>2.1.1</version>
</dependency>

导包

import breeze.linalg._
import breeze.numerics._

创建矩阵

// 创建一个两行三列的全零矩阵
val m1: DenseMatrix[Double] = DenseMatrix.zeros[Double](2, 3)
/*
0.0  0.0  0.0  
0.0  0.0  0.0  
*/

// 创建一个单位矩阵
val m2: DenseMatrix[Double] = DenseMatrix.eye[Double](3)
/*
1.0  0.0  0.0  
0.0  1.0  0.0  
0.0  0.0  1.0 
*/

// 创建一个对角矩阵,指定对角元素
val m3: DenseMatrix[Double] = diag(DenseVector(1.0, 2.0, 3.0))
/*
1.0  0.0  0.0  
0.0  2.0  0.0  
0.0  0.0  3.0  
*/

// 根据索引创建矩阵
val m4: DenseMatrix[Int] = DenseMatrix.tabulate(3, 2) { _ + _ }
/*
0  1  
1  2  
2  3 
*/
//根据数组创建矩阵
val m5 = new DenseMatrix(2, 3, Array(11, 12, 13, 21, 22, 23))
/*
11  13  22  
12  21  23 
*/

// 创建一个随机数矩阵
val m6: DenseMatrix[Double] = DenseMatrix.rand[Double](2, 3)
/*
0.13513563569969333  0.22298874038253658  0.8573576545390262  
0.6438528500067331   0.6425546711979311   0.9065370260969197
*/
    

创建向量

// 创建一个长度为3的全零向量
val v1: DenseVector[Double] = DenseVector.zeros[Double](3)
/*
DenseVector(0.0, 0.0, 0.0)
*/

// 创建一个长度为3值为1的向量
val v2: DenseVector[Double] = DenseVector.ones[Double](3)
/*
DenseVector(1.0, 1.0, 1.0)
*/

// 根据数值来填充向量
val v3: DenseVector[Double] = DenseVector.fill(3) { 5.0 }
/*
DenseVector(5.0, 5.0, 5.0)
*/

// 通过序列来创建向量 [1, 10) 步长为2
val v4: DenseVector[Int] = DenseVector.range(1, 10, 2)
/*
DenseVector(1, 3, 5, 7, 9)
*/

// 指定行元素创建向量
val v5: DenseVector[Int] = DenseVector(1, 2, 3, 4)
/*
DenseVector(1, 2, 3, 4)
*/

// 行向量转换为列向量
val v6: Transpose[DenseVector[Int]] = DenseVector(1, 2, 3, 4).t
/*
Transpose(DenseVector(1, 2, 3, 4))
*/

// 根据索引创建向量
val v7: DenseVector[Int] = DenseVector.tabulate(3) { _ * 2 }
/*
DenseVector(0, 2, 4)
*/

// 根据数组创建向量
val v8 = new DenseVector(Array(1, 2, 3, 4))
/*
DenseVector(1, 2, 3, 4)
*/

// 创建一个长度为4的随机数向量
val v9: DenseVector[Double] = DenseVector.rand[Double](4)
/*
DenseVector(0.5221265821641761, 0.8922440399310629, 0.9464378000643416, 0.8828893112887053)
*/

举报

相关推荐

0 条评论