Spark Machine Learning 05 Spark构建分类模型

傅彤
• 阅读 3853

Spark 构建分类模型

在分类模型中,我们期望根据一组特征来判断类别,这些特征代表了物体、事件或上下文相关的属性(变量)。

二分类

Spark Machine Learning 05 Spark构建分类模型

多分类

Spark Machine Learning 05 Spark构建分类模型

分类是监督学习的一种形式

我们用带有 类标记 or 类输出 的训练样本训练模型(也就是通过输出结果监督被训练的模型)。

分类模型适用于很多情形,一些常见的例子如下:

  1. 预测互联网用户对在线广告的点击概率,这本质上是一个二分类问题(点击或者不点击);

  2. 检测欺诈,这同样是一个二分类问题(欺诈或者不是欺诈);

  3. 预测拖欠贷款(二分类问题);

  4. 对图片、视频或者声音分类(大多情况下是多分类,并且有许多不同的类别);

  5. 对新闻、网页或者其他内容标记类别或者打标签(多分类);

  6. 发现垃圾邮件、垃圾页面、网络入侵和其他恶意行为(二分类或者多分类);
    ...

focus on :

  1. MLlib中各种可用的分类模型;

  2. Spark从原始输入数据中抽取合适的特征;

  3. MLlib训练若干分类模型;

  4. 用训练好的分类模型做预测;

  5. 应用一些标准的评价方法来评估模型的预测性能;

  6. 使用第3章中的特征抽取方法来说明如何改进模型性能;

  7. 研究参数调优对模型性能的影响,并且学习如何使用交叉验证来选择最优的模型参数。

5.1 分类模型的种类

Spark 分类模型 :

  1. 线性模型 - [线性,容易扩展到大数据集]

  2. 决策树 - [训练过程计算量大并且较难扩展]

  3. 朴素贝叶斯模型 - [模型简单、易训练,并且具有高效和并行的优点]

朴素贝叶斯模型可以作为一个很好的模型测试基准,用于比较其他模型的性能。

MLlib库 提供 线性模型决策树朴素贝叶斯 的二分类模型,以及基于决策树和朴素贝叶斯的多类别分类模型

5.1.1 线性模型

Spark Machine Learning 05 Spark构建分类模型

给定输入数据的特征向量和相关的目标值,存在一个权重向量能够最好对数据进行拟合,拟合的过程即最小化模型输出与实际值的误差。这个过程称为模型的拟合、训练或者优化。

具体来说,我们需要找到一个权重向量能够最小化所有训练样本的由损失函数计算出来的损失(误差)之和。损失函数的输入是给定的训练样本的权重向量、特征向量和实际输出,输出是损失。实际上,损失函数也被定义为连接函数,每个分类或者回归函数会有对应的损失函数。

5.1.2 朴素贝叶斯模型

5.1.3 决策树

5.2 从数据中抽取合适的特征

5.3 训练分类模型

5.4 使用分类模型

5.5 评估分类模型的性能

5.6 改进模型性能/参数调优

5.7 小结

MLlib 上常见的 分类模型。

我们用正确的数据格式和数据分布、更多的训练数据、模型参数调优,以及交叉验证对模型能的影响。

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
大数据
课程安排 一、大数据概述 二、大数据处理架构Hadoop 三、分布式文件系统HDFS 四、分布式数据库HBase 五、MapReduce 六、Spark 七、IPythonNotebook运行PythonSpark程序 八、PythonSpark集成开发环境 九、PythonSpark决策树二分类与多分类 十、PythonSpark支持向量机 十一
Wesley13 Wesley13
3年前
25、二分类、多分类与多标签问题的区别
二分类、多分类与多标签的基本概念二分类:表示分类任务中有两个类别,比如我们想识别一幅图片是不是猫。也就是说,训练一个分类器,输入一幅图片,用特征向量x表示,输出是不是猫,用y0或1表示。二类分类是假设每个样本都被设置了一个且仅有一个标签0或者1。多类分类(Multiclassclassification):表示分类任务中有多
Stella981 Stella981
3年前
Spark Python 快速体验
Spark是2015年最受热捧大数据开源平台,我们花一点时间来快速体验一下Spark。Spark技术栈!(http://static.oschina.net/uploads/space/2016/0331/103717_d6qN_1450051.png)如上图所示,Spark的技术栈包括了这些模块:核心模块:Spark
Stella981 Stella981
3年前
Serverless 实战:用 20 行 Python 代码轻松搞定图像分类和预测
图像分类是人工智能领域的一个热门话题,通俗来讲,就是根据各自在图像信息中反映的不同特征,把不同类别的目标区分开。图像分类利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,代替人的视觉判读。在实际生活中,我们也会遇到图像分类的应用场景,例如我们常用的通过拍照花朵来识别花朵信息,通过人脸匹对人物信息等。通常,图像识别或分
Stella981 Stella981
3年前
ContactG,基于Spark IM组织联络人插件
SparkIM是一个开源聊天软件http://www.oschina.net/p/spark(http://www.oschina.net/p/spark)本程序是spark的一个plugin。目的是实现符合企业需求的组织分类展示,因为某种原因没有上线发布到产品中。故而分享开源社区,给后来者开发带来便利。github地址https
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Stella981 Stella981
3年前
CSS 分类 (Classification)
★★CSS分类属性(Classification)★★⑴CSS分类属性允许你控制如何显示元素,设置图像显示于另一元素中的何处,相对于其正常位置来定位元素,使用绝对值来定位元素,以及元素的可见度。⑵下面是常用的属性以及描述:!(https://oscimg.oschina.net/oscnet/00cb565
Wesley13 Wesley13
3年前
KNN分类算法原理分析及代码实现
1、分类与聚类的概念与区别分类:是从一组已知的训练样本中发现分类模型,并且使用这个分类模型来预测待分类样本。目前常用的分类算法主要有:朴素贝叶斯分类算法(NaïveBayes)、支持向量机分类算法(SupportVectorMachines)、KNN最近邻算法(kNearestNeighbors)、神经网络算法(NNet)以及决策树(De
Stella981 Stella981
3年前
Spark OneHotEncoder
1、概念独热编码(OneHotEncoding) 将表示为标签索引的分类特征映射到二进制向量,该向量最多具有一个单一的单值,该单值表示所有特征值集合中特定特征值的存在。此编码允许期望连续特征(例如逻辑回归)的算法使用分类特征。对于字符串类型的输入数据,通常首先使用StringIndexer