mllib是老的api,里面的模型都是基于RDD的,模型使用的时候api也是有变化的(model这里是naiveBayes), 
(1:在模型训练的时候是naiveBayes.run(data: RDD[LabeledPoint])来训练的,run之后的返回值是一个NaiveBayesModel对象,就可以使用NaiveBayesModel.predict(testData: RDD[Vector]): RDD[Double] 里面不仅可以传入一个RDD[Vector] ,里面还可以传入单个Vector,得到单个预测值,然后就可以调用save来进行保存了,具体的可以看官方文档API 
(2:模型使用可以参考(1,模型的读取是使用load方法去读的

ml是新的API,ml包里面的模型是基于dataframe操作的 
(1:在模型训练的时候是使用naiveBayes.fit(dataset: Dataset[]): NaiveBayesModel来训练模型的,返回值是一个naiveBayesModel,可以使用naiveBayesModel.transform(dataset: Dataset[]): DataFrame,进行模型的检验,然后再通过其他的方法来评估这个模型, 
(2:模型的使用可以参考(1: 是使用transform来进行预测的,取预测值可以使用select来取值,使用select的时候可以使用“$”label””的形式来取值

训练的时候是使用的NaiveBayes,使用的时候使用naiveBayesModel

ml包里的模型训练代码请参考ml包里面的模型训练代码 ml包里面的模型的使用

mllib代码的使用会在稍后贴上: 
mllib的建模使用代码:

import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.mllib.feature.HashingTF
import org.apache.spark.mllib.regression.LabeledPoint
import org.apache.spark.mllib.classification.LogisticRegressionWithSGDclass EmailClassification {}
object EmailClassification{def main(args: Array[String]): Unit = {val sc = getSparkCont()//每一行都以一封邮件val spam = sc.textFile("spam.txt");val nomal = sc.textFile("normal.txt")//创建一个hashingTF实例来吧邮件文本映射为包含10000个特征的向量val tf = new HashingTF(10000)//把邮件都被分割为单词,每个单词都被映射成一个向量val spamFeatures = spam.map { email => tf.transform(email.split(" ")) }val nomalFeatures = nomal.map { email => tf.transform(email.split(" ")) }//创建LabelPoint 的数据集val positiveExamples = spamFeatures.map { feature => LabeledPoint(1,feature) }val negativeExamples = nomalFeatures.map { feature => LabeledPoint(1,feature) }val trainingData = positiveExamples.union(negativeExamples)//使用SGD算法运行逻辑回归 返回的类型是LogisticRegression 但是这个模型是有save,但是没有load方法,我还在思考,读者如果有什么意见或者看法可以下面评论的val model = new LogisticRegressionWithSGD().run(trainingData)//创建一个邮件向量进行测试val posTest = tf.transform("cheap stuff by sending money to ....".split(" "))val prediction = model.predict(posTest)println(prediction)}def getSparkCont():SparkContext={val conf = new SparkConf().setAppName("email").setMaster("local[4]")val sc = new SparkContext(conf)return sc}}

spark mllib和ml类里面的区别相关推荐

  1. Spark MLlib矩阵分解源码分析

    基础知识 特征值分解 如果一个向量 vv 是方阵 AA 的特征向量,可以表示成下面的形式: Av=λv Av = \lambda v 其中, λ\lambda 为特征向量 vv 对应的特征值,矩阵 A ...

  2. Spark排序算法系列之(MLLib、ML)LR使用方式介绍(模型训练、保存、加载、预测)

    转载请注明出处:http://blog.csdn.net/gamer_gyt 博主微博:http://weibo.com/234654758 Github:https://github.com/thi ...

  3. Spark MLlib 机器学习

    本章导读 机器学习(machine learning, ML)是一门涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多领域的交叉学科.ML专注于研究计算机模拟或实现人类的学习行为,以获取新知识.新 ...

  4. spark 2.x ML概念与应用

    # spark 2.x ML概念与应用 @(SPARK)[spark] 一基础 1核心概念 2Transformer 3Estimator 4Pileline 5同一实例 6保存模型 二基本数据结构 ...

  5. spark.mllib:GradientBoostedTrees

    Gradient-Boosted Trees(GBT或者GBDT) 和 RandomForests 都属于集成学习的范畴,相比于单个模型有限的表达能力,组合多个base model后表达能力更加丰富. ...

  6. spark.mllib源码阅读:GradientBoostedTrees

    Gradient-Boosted Trees(GBT或者GBDT) 和 RandomForests 都属于集成学习的范畴,相比于单个模型有限的表达能力,组合多个base model后表达能力更加丰富. ...

  7. Spark MLlib机器学习 | 算法综合实战(一)(史上最详细)

    ==========                         ========= 8.1.1 什么是机器学习 机器学习可以看做是一门人工智能的科学,该领域的主要研究对象是人工智能.机器学习利用 ...

  8. 大数据Spark MLlib机器学习

    目录 1 什么是Spark MLlib? 2 支持的数据类型 2.1 本地向量集 2.1.1.密集型数据集 2.1.2 稀疏型数据集 2.2 向量标签 2.3 本地矩阵 2.4 分布式矩阵 2.4.1 ...

  9. Spark学习之路——8.Spark MLlib

    MLlib的官网文档: http://spark.apache.org/docs/latest/ml-guide.html 本节主要内容: 一.MLlib简述 二.基本数据类型 三.汇总统计 四.实例 ...

最新文章

  1. 微软Print to PDF打印机提示参数错误的解决方法
  2. Mongodb-初步了解
  3. collections模块介绍
  4. String.charAT的运用
  5. VTK:Utilities之Timer
  6. springboot 返回json字符串格式化问题
  7. LeetCode 625. 最小因式分解(贪心)
  8. [ZJOI2007]时态同步 树形DP
  9. 机器学习实战 基于_机器学习实战:基于Scikit-Learn和TensorFlow—第四章笔记
  10. [PHP]Yii rules常用规则
  11. 备份k8s_树莓派k8s集群安装kafka集群及监控
  12. 黄聪:wordpress向mysql字段中保存html代码(使用add_option()方法),然后无法显示出问题...
  13. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_20-CMS前端页面查询开发-页面原型-页面内容完善...
  14. json rpc 2.0 java_使用JSONRPC 2.0规范解决多语言RPC交互的方案
  15. PID控制(三)(位置式和增量式PID)
  16. Windows设置自己的程序开机自动启动
  17. SQL(11)_FOREIGN KEY 约束
  18. CANopen协议介绍
  19. linux显示mem进行排序,linux下top命令显示详解
  20. 大唐之路(4)一号店入驻要求

热门文章

  1. 同步规则和happen-before规则
  2. python双向索引什么意思_python字典支持双向索引吗
  3. detectron2训练自己的数据集_YOLO(v3)PyTorch版 训练自己的数据集
  4. java jar中jar_java – jar中的jar
  5. 集群(一)——LVS负载均衡集群
  6. mysql5.6 临时表_MySQL5.6 运用临时表做SQL优化
  7. mysql 8安装_mysql安装过程详解
  8. linux查看文件列表内存地址ll,linux指令之文件查看 ls
  9. linux realvnc教程,Linux下RealVNC Enterprise 的安装和使用
  10. html水平分隔线样式,CSS生成漂亮的水平分隔线(horizontal rule)设计效果