当前位置: 首页 > news >正文

Spark ML流式在线学习模型初步构建分析-Spark商业ML实战

本套技术专栏是作者(秦凯新)平时工作的总结和升华,通过从真实商业环境抽取案例进行总结和分享,并给出商业应用的调优建议和集群环境容量规划等内容,请持续关注本套博客。版权声明:禁止转载,欢迎学习。QQ邮箱地址:1120746959@qq.com,如有任何商业交流,可随时联系。

1 Spark ML流式在线学习初步讲解

目前SparkStreaming 支持Streaming Linear Regression 和Streaming KMeans等。本文作为初步学习实例,以Streaming Linear Regression来说明问题,以方便后续更为复杂的学习案例。

2 初步案例实战

import org.apache.spark.mllib.linalg.Vectors
import org.apache.spark.mllib.regression.{LabeledPoint, StreamingLinearRegressionWithSGD}
import org.apache.spark.streaming.{Seconds, StreamingContext}
import breeze.linalg.DenseVector

val traindir = sc.textFile("/data/train2.csv")
traindir.collect.take(2)

val ssc = new StreamingContext(sc,Seconds(10))
val stream=ssc.textFileStream("/data/train2.csv")
val NumFeatures = 11
val zeroVector = DenseVector.zeros[Double](NumFeatures)
val model = new StreamingLinearRegressionWithSGD().setInitialWeights(Vectors.dense(zeroVector.data)).setNumIterations(20).setRegParam(0.8).setStepSize(0.01)
  
  
val labeledStream = stream.map{ event =>
val split = event.split(",")
val y = split(11).toDouble
val features = split(1).slice(0,11).map(_.toDouble)
LabeledPoint(label = y, features = Vectors.dense(features))
}

model.trainOn(labeledStream)
model.predictOn(labeledStream.map(lp=>(lp.label,lp.features))).print
ssc.start()
ssc.awaitTermination()
  }
}
复制代码

3 总结

在线学习仍然采用老的mlib包,可谓前景堪忧啊。

秦凯新 20181119

相关文章:

  • Java接口全链路优化:如何降低接口RT时长
  • redis个人源码分析2---dict的实现原理
  • DB主从一致性架构优化4种方法
  • mysql的TABLE_SCHEMA的sql和information_schema表, MySQL管理一些基础SQL语句, Changes in MySQL 5.7.2...
  • kafka集群消息格式之V0版本到V2版本的平滑过渡详解-kafka 商业环境实战
  • docker镜像的分层结构三
  • form表单中某个input传入数据库数据默认为on
  • Oracle 未能加载文件或程序集Oracle.DataAccess
  • Java进阶篇设计模式之十二 ---- 备忘录模式和状态模式
  • cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded: 解决方案
  • 阿里AI设计师一秒出图,小撒连连惊呼,真相是……
  • 前端进阶课程之模块化(一)CommonJS规范
  • PAT(Basic Level) 乙级练习题 ------ 1031 查验身份证 java
  • bzoj 5210 最大连通子块和——动态DP
  • 理解NGINX的重写break和last,以及location匹配规
  • 【EOS】Cleos基础
  • 【刷算法】从上往下打印二叉树
  • Babel配置的不完全指南
  • bearychat的java client
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • gcc介绍及安装
  • golang中接口赋值与方法集
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • Laravel 菜鸟晋级之路
  • OSS Web直传 (文件图片)
  • scrapy学习之路4(itemloder的使用)
  • use Google search engine
  • Vue组件定义
  • Web设计流程优化:网页效果图设计新思路
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 经典排序算法及其 Java 实现
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 前端技术周刊 2019-01-14:客户端存储
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 使用putty远程连接linux
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 智能网联汽车信息安全
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (接口自动化)Python3操作MySQL数据库
  • (四) Graphivz 颜色选择
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • .Net 8.0 新的变化
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .net MySql
  • .net6+aspose.words导出word并转pdf
  • .NET中的十进制浮点类型,徐汇区网站设计
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504
  • [100天算法】-目标和(day 79)
  • [C#]C#学习笔记-CIL和动态程序集
  • [C++ 从入门到精通] 12.重载运算符、赋值运算符重载、析构函数
  • [C++11 多线程同步] --- 条件变量的那些坑【条件变量信号丢失和条件变量虚假唤醒(spurious wakeup)】