Spark大数据技术项目实战 课件 项目八 基于 Spark MLlib 的广告点击率预测_第1页
Spark大数据技术项目实战 课件 项目八 基于 Spark MLlib 的广告点击率预测_第2页
Spark大数据技术项目实战 课件 项目八 基于 Spark MLlib 的广告点击率预测_第3页
Spark大数据技术项目实战 课件 项目八 基于 Spark MLlib 的广告点击率预测_第4页
Spark大数据技术项目实战 课件 项目八 基于 Spark MLlib 的广告点击率预测_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

许斌/0181932025.11.23新开发基于SparkMLlib的广告

点击率预测学完本课程后,您将可以:掌握数据集的准备和预处理方法掌握特征工程的实现技术熟悉模型训练与预测的基本步骤掌握模型评估与优化的方法和技巧能够理解并描述项目的背景、需求和实施流程能够对广告数据集进行预处理能够实现特征工程能够进行模型的训练、预测、评估和优化01项目介绍02准备数据集03数据预处理04特征工程实现05模型训练与预测06模型评估与优化401项目介绍项目背景在大数据领域,广告点击率预测是一个重要的问题,对于广告商和平台来说,了解广告的点击率可以帮助他们优化广告投放策略、提高广告收入以及提供更精准的广告推荐项目背景项目数据集经过脱敏处理的广告点击数据训练模型计算预测的准确率,并通过调参确定更优的参数,以提高模型的性能和预测效果项目目标模型训练项目任务任务一任务二任务三任务四任务五在给定的100万数据集中选择10万条数据用于训练和预测进行数据预处理,包括数据的过滤与拆分进行特征工程,以提取有用的特征用于模型训练(选取适当的特征,整合到特征向量中)编写代码实现模型的训练和预测(使用GBDT算法对模型进行训练和预测)评估模型的性能,对准确性进行预测项目实施流程准备数据集①本项目中,直接使用提供的源数据,文件为“train-100w.csv”准备预处理②对数据进行清洗和转换,包括处理缺失值、过滤掉不需要使用的字段等特征工程实现③根据经验和领域知识,选取适当的特征,对类别型变量进行独热编码,将特征转换成可供SparkMLlib使用的形式模型训练和预测④使用GBDT算法对训练数据进行模型训练,使用训练好的模型对测试数据进行预测,得到点击率的预测模型评估与优化⑤通过合理调整模型参数,可以进一步提升模型的性能,确定最佳值简述广告点击率预测项目的实施流程?

你对GBDT算法有了解吗?

讲解了项目背景讲解了项目任务讲解了项目实施流程1202准备数据集数据描述head-n10train-100w.csv序号字段描述1234id广告标识符click是否点击(0:未点击1:点击)hour时间,格式为年月日小时14091123表示2014年9月11日23:00

UTCC1匿名的分类变量5678banner_pos横幅位置site_idsite_domainapp_id149101112app_domainapp_categorydevice_iddevice_ip13device_model14device_type1516网站ID网站域名site_category网站类别应用ID应用域名应用类别设备ID设备IP设备型号设备类型device_conn_type设备连接类型17~24C14~C21匿名的分类变量什么是特征工程?思考哪些字段适合作为特征?1703数据预处理读取数据集Spark读取CSV文件格式的数据集//读取CSV文件valdata=spark.read.format("csv").option("header","true").option("inferSchema","true")//推断列的数据类型

.load("weibo_senti_100k.csv")varheader=rawRDD.first()//获取数据集第一行valctrRDD=rawRDD.filter(row=>row!=header)//过滤数据集表头ctrRDD.count()//获取数据集记录数拆分数据集由于原数据集规模庞大,为确保程序在不同环境下的顺利运行并避免内存溢出问题,本项目中仅选取部分数据进行测试和训练vartrain_test_rdd=ctrRDD2.randomSplit(Array(0.8,0.2),seed=37L)vartrain_raw_rdd=train_test_rdd(0)//训练集(80%)vartest_raw_rdd=train_test_rdd(1)//测试集(20%)train_raw_rdd.count()//计算训练集记录数test_raw_rdd.count()//计算测试集记录数思考数据集划分为训练集和测试集有何作用?以下划分数据集的代码中,seed=37L有何作用?vartrain_test_rdd=ctrRDD2.randomSplit(Array(0.8,0.2),seed=37L)2204特征工程实现特征工程方法针对训练集中不同的列采用不同的特征工程方法vartrain_rdd=train_raw_rdd.map{line=>//切分每一行数据,使用逗号作为分隔符,-1表示保留空字段

vartokens=line.split(",",-1)

//将id和click字段合并为一个新的catkey字段

varcatkey=tokens(0)+"::"+tokens(1)//提取第6到第15个字段(包括第6但不包括第15字段),即分类特征字段

varcatfeatures=tokens.slice(5,14)

//提取第16个字段到倒数第1个字段(包括第16但不包括倒数第1字段),即数值型特征字段varnumericalfeatures=tokens.slice(15,tokens.size-1)

//返回(catkey,catfeatures,numericalfeatures)元组作为映射结果(catkey,catfeatures,numericalfeatures)}特征工程结果字段名对应值id10000949271186029916click1hour14102100,1005C11005banner_pos0site_id1fbe01fesite_domainf3845767site_category28905ebdapp_idecad2386app_domain7801e8d9app_category07d7df22device_ida99f214adevice_ip37e8da74device_model5db079b5device_type1device_conn_type2C14-C2115707,320,50,1722,0,35,-1,79思考为何要将数据集原始字段进行特征工程处理?为何特征工程对于模型训练非常重要?2705模型训练与预测训练模型–GBDT(梯度提升树)使用梯度提升树(GBDT)算法对数据进行建模训练,GBDT算法通过迭代的方式不断优化模型,具有高准确性和强拟合能力GBDT,全称为GradientBoostingDecisionTree,即梯度提升决策树,是机器学习领域中一种高效且强大的集成学习方法。它通过迭代地添加决策树以逐步降低预测误差,从而在各种任务中,尤其是回归和分类问题上表现出色GBDT(梯度提升树)算法GBDT的核心在于如何有效地利用梯度信息指导决策树的生成。不同的任务(如平方损失对应回归,对数损失对应二分类)会有不同的损失函数,其梯度直接指导了模型如何针对当前错误进行修正模型预测模型训练完成后,将模型应用到测试集上进行预测,通过计算预测的准确率来判断模型的泛化能力//对测试集进行预测,得到预测结果RDDvarpredictions=ohe_test_rdd.map(lp=>model.predict(lp.features))//将预测结果与真实标签组成一个元组的RDDvarpredictionAndLabel=predictions.zip(ohe_test_rdd.map(_.label))//计算预测准确率varaccuracy=1.0*predictionAndLabel.filter(x=>x._1==x._2).count/ohe_test_rdd.count//打印准确率println("Accuracy:"+accuracy)思考GBDT(梯度提升树)算法的优势?训练模型应用测试集预测准确率越高就说明模型训练得越好吗?讲解了数据收集和准备讲解了特征工程和模型训练讲解了模型评估与部署3306模型评估与优化超参数调优(或模型选择)说明为了确定模型参数最佳值,通常需要进行实验,此过程被称为超参数调优常用超参数调优方法网格搜索(GridSearch)随机搜索(RandomSearch)贝叶斯优化(BayesianOptimizat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论