《Spark机器学习进阶实战》——3构建分类模型
第3章构建分类模型
巧者劳而知者忧,无能者无所求。
—《庄子·列御寇》
灵巧的人多劳累而聪慧的人多忧患,没有能耐的人也就没有什么追求。
庄子把人分为灵巧的人、聪慧的人、没有能耐的人,体现了简单的分类思想。分类是依据历史数据形成刻画事物特征的类识别,进而预测未来数据的归类情况。比如庄子根据前人经验,得出灵巧的人、智慧的人、没有能耐的人的特征,然后根据这些特征对人群进行识别,确定人群分类情况。
本章重点讲解分类模型的常用算法,包括逻辑回归、朴素贝叶斯、SVM模型、决策树模型、K-近邻等,以及如何对分类模型进行效果评估,并使用分类模型进行App数据的分类实现。
3.1 分类模型概述
分类通常是指将事物分成不同的类别,在分类模型中,我们期望根据一组特征来判断事物类别,这些特征代表了物体、事件或上下文相关的属性。
根据类别标签的个数,可以将分类问题划分成二分类问题和多分类问题。例如在论坛中,给定用户和帖子信息,可以判断用户是否会对帖子点赞,点赞的情况对应于类别1(其他情况对应于类别0)。如果仅判断用户是否会对帖子点赞,该问题为二分类问题;如果需要具体判断用户对帖子点赞、点踩、有无互动操作,那么该问题属于多分类问题。
二分类是最简单的分类形式,如图3-1所示,其中样本的特征有两个维度,分别用横坐标X和纵坐标Y表示每一维度的值。通过训练分类模型,使用“x”代表正类,使用“●”代表负类,从而可以将二维空间的样本点正确分开。
图3-1 简单二分类示例
多分类相对二分类而言,分类不止两类。如图3-2所示是一个三分类的例子,符号“x”“●”“■”分别代表不同分类。
图3-2 三分类示例
分类是监督学习的一种形式,可以使用有标签的训练样本训练模型,通过输出结果监督被训练的模型。分类输出离散值,这是和回归问题的区别所在,生活中很多问题都可以转化为分类问题进行求解,如检测信用卡欺诈,对文字、图片、声音、视频等进行分类,对新闻、网页的内容标记类别,互联网业务中判断用户是否为活跃用户等。
在MLlib实现中,支持二分类的模型有SVM模型、逻辑回归、决策树、随机森林、梯度提升树和朴素贝叶斯,而支持多分类的模型有逻辑回归、决策树、随机森林和朴素贝叶斯等。
- 点赞
- 收藏
- 关注作者
评论(0)