【Spark MLlib】(三)Spark MLlib 数据基础_spark mlib中那个函数用于计算两个向量的点积

文章目录

一、矩阵向量计算

Spark MLlib底层的向量、矩阵运算使用了Breeze库,Breeze库提供了Vector/Matrix的实现以及相应计算的接口(Linalg)。但是在MLlib里面同事也提供了Vector和Linalg等的实现。

1、Breeze创建函数

2、Breeze元素访问

3、Breeze元素操作

4、Breeze数值计算函数

5、Breeze求和函数

6、Breeze布尔函数

7、Breeze线性代数函数

8、Breeze取整函数

9、Breeze其他函数

Breeze三角函数:
sin、sinh、asin、asinh、cos、cosh、acos、acosh、tan、tanh、atan、atanh、atan2、sinc(x),即sin(x)/x、sincpi(x),即sinc(x\*pi)
Breeze对数和指数函数:
log、exp、log10、log1p、expm1、sqrt、sbrt、pow

二、分类效果评估指标

//正确率
val evaluator1 = new MulticlassClassificationEvaluator()
  .setLabelCol("indexedLabel")
  .setPredictionCol("prediction")
  .setMetricName("accuracy")
val accuracy = evaluator1.evaluate(predictions)
println(accuracy)
 
//f1
val evaluator2 = new MulticlassClassificationEvaluator()
  .setLabelCol("indexedLabel")
  .setPredictionCol("prediction")
  .setMetricName("f1")
val f1 = evaluator2.evaluate(predictions)
println(f1)
 
//Precision
val evaluator3 = new MulticlassClassificationEvaluator()
  .setLabelCol("indexedLabel")
  .setPredictionCol("prediction")
  .setMetricName("weightedPrecision")
val Precision = evaluator3.evaluate(predictions)
println(Precision)
 
//Recall
val evaluator4 = new MulticlassClassificationEvaluator()
  .setLabelCol("indexedLabel")
  .setPredictionCol("prediction")
  .setMetricName("weightedRecall")
val Recall = evaluator4.evaluate(predictions)
println(Recall)
 
//AUC
val evaluator5 = new BinaryClassificationEvaluator()
  .setLabelCol("indexedLabel")
  .setRawPredictionCol("prediction")
  .setMetricName("areaUnderROC")
val auc = evaluator5.evaluate(predictions)
println(auc)
 
//aupr
val evaluator6 = new BinaryClassificationEvaluator()
  .setLabelCol("indexedLabel")
  .setRawPredictionCol("prediction")
  .setMetricName("areaUnderPR")
val aupr = evaluator6.evaluate(predictions)
println(aupr)

三、交叉-验证方法

交叉验证法先将数据集D划分为k个大小相似的互斥子集,即D=D1并D2并…并Dk,每个子集之间没有交集。然后每次用k-1个子集的并集作为训练集,余下的那个作为测试集,这样得到k组训练/测试集。可以进行k次训练和测试,最终返回的是这个k个结果的均值。可以随机使用不同的划分多次,例如:10次10折交叉验证通常把交叉验证法称为“k折交叉验证”(k-fold cross validation),k最常用的取值时10,为10折交叉验证。

示例:交叉验证

package sparkml
 
import org.apache.log4j.{Level, Logger}
import org.apache.spark.ml.Pipeline
import org.apache.spark.ml.classification.LogisticRegression
import org.apache.spark.ml.evaluation.BinaryClassificationEvaluator
import org.apache.spark.ml.feature.{HashingTF, Tokenizer}
import org.apache.spark.ml.tuning.{CrossValidator, ParamGridBuilder}


![img](https://img-blog.csdnimg.cn/img_convert/5e4cd4f859368ca71e33e28bb60472e8.png)
![img](https://img-blog.csdnimg.cn/img_convert/6375fa326ffe0a4eb29f5881c005a95e.png)
![img](https://img-blog.csdnimg.cn/img_convert/539ed251620ee7dc853090c29a170d7e.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**

课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值