大数据课程K14——Spark的数据挖掘案例

文章作者邮箱:yugongshiye@sina.cn              地址:广东惠州

 ▲ 本章节目的

⚪ 掌握Spark的案例——预测商品需求量;

⚪ 掌握Spark的案例——预测谋杀率;

一、案例1——预测商品需求量

1. 说明

某种商品的需求量(y,吨)、价格(x1,元/千克)和消费者收入(x2,元)观测值如下表所示。

y=β1X1+β2X2+β

y

x1

x2  

100

5

1000

75

7

600

80

6

1200

70

6

500

50

8

30

65

7

400

90

5

1300

100

4

1100

110

3

1300

60

9

300

为了能够通过Mllib建模,我们首先需要对数据格式进行一定的处理,比如如下所示:

100|5  1000

75|7  600

80|6  1200

70|6  500

50|8  30

65|7  400

90|5  1300

100|4  1100

110|3  1300

60|9  300

X1=10 X2=400 Y=?

2. 代码示例:

import org.apache.spark.SparkConf

import org.apache.spark.SparkContext

import org.apache.spark.mllib.regression.LabeledPoint

import org.apache.spark.mllib.linalg.Vectors

import org.apache.spark.ml.regression.LinearRegressionModel.LinearRegressionModelReader

import org.apache.spark.ml.regression.LinearRegressionSummary

import org.apache.spark.ml.regression.LinearRegressionTrainingSummary

import org.apache.spark.mllib.regression.LinearRegressionWithSGD

import org.apache.spark.mllib.regression.LinearRegressionModel

import org.apache.spark.ml.regression.LinearRegressionModel

import org.apache.spark.sql.SQLContext

import org.apache.spark.ml.feature.VectorAssembler

import org.apache.spark.ml.regression.LinearRegression

object Driver { 

  def main(args: Array[String]): Unit = {   

     val conf=new SparkConf().setMaster("local").setAppName("lr")    

     val sc=new SparkContext(conf)    

     val sqc=new SQLContext(sc)    

     val data=sc.textFile("d://ml/lritem.txt")    

     //--将数据转成 tuple格式,是为了后期转成SparkSql的DataFrame

     val parseData=data.map { x =>

       val parts=x.split("\\|")

       val features=parts(1).split(" ")

       (parts(0).toDouble,features(0).toDouble,features(1).toDouble)

     }    

     //--转成DF

     val df=sqc.createDataFrame(parseData)    

     //--定义各列字段名字

     val dfData=df.toDF("Y","X1","X2")

     //--定义featur

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/62502.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习基础14-算法调参(基于印第安糖尿病Pima数据集)

机器学习的模型都是参数化的,可以通过调参来提高模型的准确度。 模型有很多参数,如何找到最佳的参数组合,可以把它当作一个查询问题来处理,但是调整参数到何时为止呢?应该遵循偏差和方差协调的原则。 接下来将介绍在 s…

居中一个元素(水平+垂直居中)

我们的示例代码全在此基础上修改&#xff1a; ...... <style>* {margin: 0;padding: 0;}.par {width: 600px;height: 400px;background-color: antiquewhite;display: flex;justify-content: center;align-items: center;}.chi1 {width: 60px;height: 40px;backgrou…

Oracle系列之--Profile

Oracle系列之--Profile_oracle profile_楼兰过客的博客-CSDN博客

【Seata】00 - Seata Server 部署(Windows、Docker 基于 Jpom)

文章目录 前言参考目录版本说明Windows 部署 seata-server1&#xff1a;下载压缩包2&#xff1a;文件存储模式3&#xff1a;db 存储模式3.1&#xff1a;建表3.2&#xff1a;修改配置文件3.3&#xff1a;启动脚本4&#xff1a;源码部署 Docker 部署 seata-server &#xff08;基…

Spring与MyBatis集成 AOP整合PageHelper插件

目录 1.什么是集成&#xff1f; 2.Spring与MyBatis集成 3.Spring与MyBatis集成的基本配置 4.AOP整合PageHelper插件 1.什么是集成&#xff1f; 集成是指将不同的组件、框架或系统整合到一起&#xff0c;使它们可以协同工作、相互调用、共享资源等。通过集成&#xff0c;可以…

金鼎奖正式揭晓!创邻科技荣获“优秀技术创新奖”

近期&#xff0c;由中国人民银行直属企业中国金融电子化集团有限公司主办的2023中国国际金融展“金鼎奖” 评选结果正式对外公布&#xff01;创邻科技凭借在数据库领域的技术创新和产品引领荣获“优秀技术创新奖”。 作为中国国际金融展的重要活动之一&#xff0c;今年的 “金鼎…

使用idea时,光标变成了不能按空格键,只能修改的vim格式,怎么切换回正常光标

情况1 你可能不小心启用了 IntelliJ IDEA 中的 Vim 插件。你可以尝试以下步骤来禁用它&#xff1a; 在 IntelliJ IDEA 中&#xff0c;选择 "File" -> "Settings" &#xff08;如果你在 macOS 上&#xff0c;选择 "IntelliJ IDEA" -> &quo…

解决Oracle SQL语句性能问题——SQL语句改写(视图、标量子查询及update)

我们在前述文章中也已经提到,对于高版本的关系库,尤其是针对Oracle这样的关系库,绝大多数场景下,同一语义和结果的SQL语句的具体语法,不会成为SQL语句执行计划的影响因素,但在少数场景下,针对同一语义和结果的SQL语句的不同写法,数据库优化器最终会分别为其生成不同的执…

【MTK平台】根据kernel log分析wifi scan的时候流程

一 概要: 本文主要讲解根据kernel log分析下 当前路径下(vendor/mediatek/kernel_modules/connectivity/wlan/core/gen4m/)wifi scan的时候代码流程 二. Log分析: 先看Log: 2.1)在Framework层WifiManager.java 方法中,做了一个标记,可以精准的确认时间 这段log可以…

matlab函数 状态空间系统ss、能控性矩阵ctrb、矩阵的秩rank、能控标准型canon、零极点配置place、系统极点pole等函数(线性定常系统)

matlab函数 能控性矩阵ctrb、能控标准型canon、零极点配置place 第一章&#xff0c;线性定常系统 ss 如果已知线性定常系统的ABCD四个矩阵&#xff0c;可以得到状态空间系统 其他更具体的用法请直接看帮助文档。 用法&#xff1a;ss(A,B,C,D) 假如 可以输入 A [-1.5,-2…

Linux实现memcpy

一、引用 1.linux C编程&#xff1a;重写 memcpy 函数_memcpy_fromio_老王不让用的博客-CSDN博客 2.实现一个高效率的内存拷贝函数memcpy_高效 内存复制函数_wykup的博客-CSDN博客 以上两篇博客提供了很大思路&#xff0c;但是考虑到实际面试当中的时间等问题&#xff0c;结…

网络流量监控-sniffnet

{alert type“info”} 今天来分享一个监控流量的应用sniffnet。 github项目地址&#xff1a;https://github.com/GyulyVGC/sniffnet {/alert} 可以在github的readme上看到这个程序有的特性&#xff1a; 为什么要介绍它呢&#xff1a;主要是多线程、跨平台、可靠、操作简单 我…

Unity——热更新浅析

热更新的思想从本质上来讲&#xff0c;要考虑一些问题。例如&#xff0c;一个完整的游戏最多可以有多大比例的资源通过网络加载&#xff1f;能否让尽可能多的资源通过网络加载&#xff1f; 通过网络加载有很多好处&#xff0c;不仅可以极大减小安装包的体积&#xff0c;而且有…

SPSS教程:如何绘制带误差的折线图

SPSS教程&#xff1a;如何绘制带误差的折线图 1、问题与数据 研究者想研究45-65岁健康男性中&#xff0c;静坐时长和血胆固醇水平的关系&#xff0c;故招募100名研究对象询问其每天静坐时长&#xff08;time&#xff09;&#xff0c;并检测其血液中胆固醇水平&#xff08;cho…

Spring三级缓存解决循环依赖

Spring三级缓存解决循环依赖 一 Spring bean对象的生命周期 二 三级缓存解决循环依赖 实现原理解析 spring利用singletonObjects, earlySingletonObjects, singletonFactories三级缓存去解决的&#xff0c;所说的缓存其实也就是三个Map 先实例化的bean会通过ObjectFactory半…

什么是同源策略(same-origin policy)?它对AJAX有什么影响?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 同源策略&#xff08;Same-Origin Policy&#xff09;与 AJAX 影响⭐ 同源策略的限制⭐ AJAX 请求受同源策略影响⭐ 跨域资源共享&#xff08;CORS&#xff09;⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记…

Redo Log工作原理

数据库如何持久化数据&#xff1f; 数据库一般都需要硬盘来进行数据持久化 &#xff0c;数据库在持续提供对外服务的过程会不断的进行写入操作&#xff08;增、删、改&#xff09;&#xff0c;为了保证每次成功的写入都能落盘&#xff0c;就需要每次进行写入操作都调用fsync操…

汽车服务门店小程序模板制作指南

在数字化时代&#xff0c;一个小程序的力量不可忽视。它不仅是展示品牌形象和提供用户服务的重要工具&#xff0c;更是扩大客户群体和提高营收的关键手段。对于汽车服务门店来说&#xff0c;拥有一个精美且功能齐全的小程序&#xff0c;更将成为你在竞争激烈的市场中的重要武器…

Docker中容器的随机命名方式

使用 docker 创建容器时&#xff0c;如果没有用 --name 指定&#xff0c;docker 会为用户选择一个名称&#xff0c; 格式是两个带有下划线的单词&#xff0c;如xxx_yyyy 其相关的实现在此处 pkg/namesgenerator/names-generator.go[1] 源码中有两个数组&#xff0c;第一个是一个…

MySql Delete 使用及优化

一、概述 DELETE是一个DML语句&#xff0c;用于从表中删除行。 DELETE语句可以从with子句开始&#xff0c;以定义DELETE中可访问的公用表表达式。 单表语法 DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name [[AS] tbl_alias][PARTITION (partition_name [, partition…