数据分析学习之路——(八)分类算法介绍

2023-11-06

        前面几篇文章都是从数据分析介绍讲到描述统计分析,其实数据分析还需要使用机器学习的相关知识用来建立不同的分析模型,最终对数据信息进行深入的分析和挖掘。在实际工作当中,我们需要对数据进行特征分析,并且从数据中获取有价值的信息,并且为数据产品的市场服务。对于机器学习这一块,我是从分类算法开始研究的,因此本篇文章着重介绍几种分类算法。由于这些算法都非常经典,网上也有许多博文进行解读,本篇文章避免了从其它博文直接抄袭或转载,全部是我自己理解后总结的。

机器学习

        维基百科给出了机器学习一个被广泛引用的定义:对于某类任务T和性能度量P,如果一个计算机程序在T上以P衡量的性能随着经验E而自我完善,那么我们称这个计算机程序在从经验E学习。我的理解就是,通过计算机程序构建一系列算法模型,然后使用这个模型学习经验,不断完善性能。通常用于分类、回归、聚类、降维、特征提取等。

        监督学习是指利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程。通常实现过程中给出一个训练数据集,根据数据集不同特征训练出一个函数模型,常用于分类。

通常做法:一个训练集和测试集,将训练集按照一定比例随机分配(8:2/7:3),用多数训练模型,少数检测模型。训练集包括训练的特征以及已经分类的分类标签,测试集则是根据模型预测数据属于哪一个分类标签。

好模型的标准:一个分类模型的优劣可以用代价函数说明,代价函数(cost function)越小,模型表现越好;另需要判断对训练数据是否足够拟合(拟合概念可以通过线性回归——最小二乘法定义)。

        监督学习需要注意过拟合和欠拟合。过拟合指在训练数据集表现不错,但是在测试数据集表现很差,通常往往是由于过多的特征,导致模型复杂。

        无监督学习是指根据没有类别标签的数据训练样本来解决模式识别中的问题,常用于聚类。

分类算法介绍

朴素贝叶斯

应用:简单,容易理解的一种分类算法,常用于文本分类、垃圾邮件处理,属于监督学习。

原理:基于贝叶斯定理,对于给出的待分类项,求解在待分类项出现的条件下各个类别的概率;也就是已知先验概率,求解在某一条件发生下的后验概率。当出现某一后验项概率为0时,就是说某类别下某个特征没有出现,需要使用Laplace校准。

                                                    211957_yjWs_3642529.png

输入与输出:输入为某个类别发生的概率(先验概率)和某类别下出现某个特征的概率,输出为某特征划分为某个类别的概率(后验概率),根据概率的大小判断是否属于这个类别。

优势劣势:理解、计算简单,易于实现

                 对小规模数据表现很好,对于大量规模数据表现欠佳

                 算法朴素地认为各特征之间相互独立、没有影响,因此在处理相关性较大的特征时,表现不好

逻辑回归

应用:主要用于离散变量的分类——属于监督学习的一种;一个单独的逻辑回归只能判别两个类——二分类回归,通过一个概率值判断属于哪一个分类。

原理:模型通过定义一个sigmoid S型预测函数,取值范围(0,1)预测不同的分类结果,默认阈值0.5,大于0.5则认为属于分类1,小于0.5认为属于分类2。通过代价函数(cost function)评估预测函数的好坏——使用梯度下降算法能够找到损失函数最小值。

                                    23212628_nyFF.jpg

输入与输出:输入一个线性组合,也就是一个带权重的特征组合(自变量),输出结果表征了某个样本属于某类别的概率(即可能性,取值0~1)。

优势劣势:朴素贝叶斯(生成模型)将不同特征处理成为独立不相关的变量,会有一定误差,逻辑回归(判别模型)不管各特征之间是否有联系,可以直接将任何特征组合扔进模型;朴素贝叶斯处理数据规模较小的集合,对于大量数据,逻辑回归更有优势;逻辑回归容易过拟合,分类精度不太高。

解决方案:1)减少特征数量(减少特征会失去一些信息,即使特征选的很好)

                     人工选择要保留的特征

                2)正则化(特征较多时比较有效)

决策树

应用:通过训练数据,进行分类。也可以用来作回归。

原理:一种描述对实例分类的树结构,两种节点:内部节点和叶子结点——内部节点表示一个特征或属性,叶子结点表示一个分类。将特征看作一个内部节点,对每个内部节点进行递归分割(两种分割方式:连续性——用>=,<分割,离散型——按类别分割),递归停止条件:每个叶子节点只有一个类型,或者设置节点记录数量低于一个设定的阈值。根据纯度来构建决策树,纯度指节点分割后有最小的分类(例子:“拥有房产”,可以将记录分成了两类,“是”的节点全部都可以偿还债务,非常“纯”,“否”的分支再继续下一个节点分割)。不纯度量化:ID3算法使用信息增益(纯度差)、C4.5算法使用信息增益率、CART算法使用基尼系数,取值越小,不纯度越低,纯度越高,节点更靠近根节点。

决策树步骤:特征选择-决策树生成-剪枝。

优势劣势:容易理解,效率高

                 可以处理连续型和离散变量,通过不纯度来分割变量

                 容易过拟合

解决方案:1)裁剪枝叶

                 2)随机森林

随机森林

应用:由于决策树可能出现的误差和过拟合问题,使用RF可更好地解决分类和回归问题。

原理:RF算法是将决策树进行Bagging,使用多棵树进行单独预测,最后将这些预测进行组合决定。通常多个弱分类器通过组合可以得到很强的决策效果。

保证每棵树之间的独立性,采用3层随机性:

1、每棵树的数据有放回随机抽样;

2、每棵树的特征也随机抽取,数量通常为sqrt(N)或者log2(N)+1;

3、多个特征进行分割时,随机选择一个进行分割。

优势劣势:解决了过拟合问题,增加稳定性,提升预测精度

               可以对数据降维,只选取少量几个重要特征来近似表示原数据——用于特征选择,选择关键特征

                可并行,能处理大规模数据

                模型过大,需要存储空间大,模型加载时间长

                噪声比较大的样本,容易过拟合

SVM

应用:可以应用于分类和回归,分类模型通常用做二分类。

原理:基于逻辑回归线性分类,定义在特征空间上的间隔最大的线性分类器,利用间隔最大化求最优分离超平面。定义一个超平面方程,使得其到不同分类数据点的距离最大,即为最优超平面(如图中的实线wTx+b=0)。大多数情况下,数据并不是线性可分的,使用核函数(Kernel)。

核函数思想——由于线性不可分,将数据集映射到高维,变成线性可分。将数据在低维计算,将分类效果表现在高维。

                            213027_mXWw_3642529.png

优势劣势:可用于分类和回归

                容易解释

                计算复杂度低

                可以处理小样本,非线性问题;通过处理低维度数据解决高维度问题

                原始SVM只擅长解决二分类问题

转载于:https://my.oschina.net/nekyo/blog/1594113

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据分析学习之路——(八)分类算法介绍 的相关文章

随机推荐

  • 电子银行业务分析系统—项目总结

    电子银行业务分析系统 项目总结 1 2 1 项目概况 XXX银行业务分析系统 是为建行XXXX分行电子银行部开发的综合性业务数据分析系统 其主要基于分行ODSB数据作为数据源 主要包括CCBS 中国建设银行新一代柜面业务系统 和ECTIP
  • 一点点学共形几何(1) 微分几何之拓扑空间简介

    本人计算机专业的 本想直接学习顾险峰老师的计算共形几何学课程 但无奈看起来很吃力 于是想补一点基础拓扑学 但是拓扑学又涉及到微分几何 于是找来梁灿彬老师的 微分几何入门与广义相对论 打算拜读前五章 此文章为阅读时的一些笔记 但是这种书吧不可
  • LC两数之和 JS

    LC两数之和 JS 给定一个整数数组 nums 和一个整数目标值 target 请你在该数组中找出 和为目标值 target 的那 两个 整数 并返回它们的数组下标 你可以假设每种输入只会对应一个答案 但是 数组中同一个元素在答案里不能重复
  • 基于fpga的车牌识别系统(已上板实现,完整系统)

    基于fpga的车牌识别系统 已上板实现 完整系统 modelsim仿真代码 可以上板验证 有完整文档 开发板 正点原子达芬奇Artix 7 FPGA开发板A7 Xilinx XC7A35T 1 设计概要 针对车牌识别项目 车牌定位的准确与否
  • C# 清空数组Array.Clear

    using System using System Collections using System Collections Generic using UnityEngine public class ClearArrayText Mon
  • 【H5】 移动端的基本事件

    H5 移动端的基本事件 一 基础事件 1 PC端事件 onclick 鼠标点击触发 onmousedown 鼠标按下触发 onmousemove 鼠标移动触发 onmouseup 鼠标抬起触发 2 移动端触屏事件 ontouchstart
  • hcip脱产班01天

    桌面云 半条命 CS 射击类游戏 CF穿越火线 2M 4M土豪开网吧 电子游戏厅 网吧 方正主机 纯平大屁股显示器 液晶薄酷睿i7 i9 组装电脑 性价比高 奔腾4处理器央视做广告 主机箱 主板 内存 电源风扇 cpu等等物理硬件 有没有可
  • python使用PyInstaller库打包exe

    前言 python制作了一个小程序 想打包成exe怎么办 这篇博客 教你打包python制作的小程序 下载PyInstaller 首先 我们先按住电脑键盘上的window键 然后按R键 记住要同时按住喔 会弹出以下框 然后我们输入cmd 点
  • 关于quicktime

    前两天一直在做一个关于生化实验的教学视频 用premiere做的 本来拍摄的视频素材是mov格式的 这种格式的文件比较大 而且不能导入premiere的 只有转换成mpg格式的 本来的素材是640 480 但转换格式后就变成384 288
  • Swiper轮播图在Vue框架中的运用

    要在Vue中运用Swiper需要下载Swiper插件 在命令行cmd 可以cd 根目录 输入 npm install vue awesome swiper save 下载成功后 查看package json中是否存在 在mian js中全局
  • dll调用nodejs的回调函数

    nodejs使用ffi调用dll dll中有回调函数调用js中的方法 c语言中cdll h文件 extern C typedef void JsCall int index 这个就是要传入的类型结构 extern declspec dlli
  • 监控项目里的流媒体服务器,监控项目里的流媒体服务器

    监控项目里的流媒体服务器 内容精选 换一换 共享型和独享型负载均衡算法 支持以下几种调度算法 加权轮询算法 根据后端服务器的权重 按顺序依次将请求分发给不同的服务器 它用相应的权重表示服务器的处理性能 按照权重的高低以及轮询方式将请求分配给
  • QT设置ToolButton按钮的样式

    QToolButton min width 80px min height 32px QToolButton color rgb 255 255 255 min height 20 border style solid border top
  • 巴比特

    摘要 据 科创板日报 7 月 11 日报道 北京市经济和信息化局党组书记 局长姜广智在接受记者采访时表示 北京经信局将在算力供给层面提升中长期算力供给能力 加快建设海淀区北京人工智能公共算力 朝阳区北京数字经济算力中心等重点项目 尽快形成算
  • Pandas-连接合并函数merge()

    一 merge函数用途 pandas中的merge 函数类似于SQL中join的用法 可以将不同数据集依照某些字段 属性 进行合并操作 得到一个新的数据集 二 merge 函数的具体参数 用法 DataFrame1 merge DataFr
  • C++_面向对象_1

    设计一个圆形类 Circle 和一个点类 Point 计算点和圆的关系 class Circle public int x int y int radius class Point public int x int y void judge
  • SS626V100 SDK安装编译osdrv问题汇总

    文章目录 前言 1 开发环境 2 在 linux 服务器上安装交叉工具链 2 1 安装 aarch64 mix410 linux tgz 2 2 安装 cc riscv32 cfg11 musl 20211008 elf tar gz 2
  • react,umi,antd-pro的layout封装过程

    import React from react import Layout Form Icon from antd import isEqual from lodash isEqual 深度比较对象 import memoizeOne fr
  • TIOBE 8 月编程语言:C、Java 差距拉大,R 语言盛行

    编程语言社区 TIOBE 最新发布了 8 月编程语言排行榜 相比上个月 本月 TIOBE 指数整个体变化并不大 C 语言依然保持强劲地增长势头 与第二名 Java 之间差距逐月增大 从上个月相差 1 35 的份额逐步增长到 2 55 的差额
  • 数据分析学习之路——(八)分类算法介绍

    前面几篇文章都是从数据分析介绍讲到描述统计分析 其实数据分析还需要使用机器学习的相关知识用来建立不同的分析模型 最终对数据信息进行深入的分析和挖掘 在实际工作当中 我们需要对数据进行特征分析 并且从数据中获取有价值的信息 并且为数据产品的市