首页 > 编程语言 >Python数据分析与可视化笔记 九 分类问题

Python数据分析与可视化笔记 九 分类问题

时间:2024-04-04 19:03:32浏览次数:34  
标签:数据分析 分类 Python 样本 算法 可视化 超平面 向量 决策树

分类

        分类是找出数据库中一组数据对象的共同特点,并按照分类模式将其划分为不同的类,其目的是通过分类模型,将数据库中的数据项映射到某个给定的类别。

        分类学习是一类监督学习的问题,训练数据会包含其分类结果,根据分类结果分为以下几种问题。

1.二分类问题:是与非的判断,分类结果分为两类。

2.多分类问题:分类结果为多个类别。

3.多标签分类问题:一个样本的预测结果可能是多个,或有多个标签。

        就模型本质所能解决问题的角度来说,可以分为线性模型非线性分类模型

        线性分类模型中,假设特征与分类结果存在线性关系,通常将样本特征进行线性组合,表达形式如下:

f(x) = w_1*x_1 + w_2*x_2 + ...+ w_d*x_d + b

表达成向量形式如下 f(x) = w点乘x + b, 其中 w = (w_1, w_2, ..., w_d),线性分类模型的算法则为对 w 和 b 的学习,典型的算法包括逻辑回归(Logistic Regression)线性判别分析( Linear Discriminant Analysis)

        非线性分类模型中的经典算法包括 K近邻(K-Nearest Neighbor, KNN)支持向量机(Support Vector Machine)决策树(Decision Tree)朴素贝叶斯(Naive Bayes)

逻辑回归

        逻辑回归的优点是直接对分类概率进行建模,无须事先假设数据分布,是一个判别模型。并且 g 相当于对 x 为正样本的概率预测,Logistic函数本身也有很好的性质,是任意阶可导凸函数。

线性判别分析

        针对训练集,将其投影到一条直线上,使得同类样本点尽量接近,异类样本点尽量远离。即同类样本计算得到的 f 尽量比较相似,协方差较小; 异类样本的中心间距尽可能大,同时考虑两者可以得到线性判别分析的目标函数。

支持向量机

        找到一个超平面可以将不同类别的样本分开,且使得所有的点都尽可能地远离超平面。离超平面近的点是容易被误分类的点,应使离得较近的带你尽可能地远离超平面。可以定义超平面的方程如下 w 点乘 x +b =0,其中 w 为超平面的法向量, b 为位移项。样本 i 到超平面的距离为 |w*x_i + b|。

        如果所有样本不仅可以被超平面分开,还和超平面保持一定函数距离,这样的超平面为支持向量机中的最优超平面,和超平面保持一定函数距离的样本定义为支持向量。

决策树

        决策树可以看作对于“当前样本是否属于正类”这一问题的决策过程,一般一棵决策树包含一个根结点、若干个中间节点和若干个叶节点,叶节点对应总问题的决策结果,根结点和中间节点对应中间的属性判定问题。决策树的生成是一个递归过程。同一个问题和样本可能产生不同的决策树,其目标是每一次划分使分支节点纯度尽量高,即样本尽可能属于同一个类别。度量纯度的指标有信息熵增益率基尼指数等。

K近邻

        K近邻算法的工作机制是,给定测试集合,基于某种距离度量计算训练集中与其最接近的 k 个训练样本,基于这 k 个样本的信息对测试样本的类别进行预测。似乎无须进行训练,训练时间开销为0。这一类算法被称为“懒惰学习”算法,而样本需要在训练阶段进行处理的算法被称为“急切学习”算法。

标签:数据分析,分类,Python,样本,算法,可视化,超平面,向量,决策树
From: https://blog.csdn.net/XinxingZh/article/details/137378638

相关文章

  • 11.python的字典dict(下) 遍历字典,结构优化
    11.python的字典dict(下)遍历所有的键值对items()方法是字典的一个内置方法,用于返回字典中所有键值对的视图(view)。它返回一个可迭代的对象,每个元素都是一个包含键和对应值的元组。下面用一个例子来说明items()方法的用法:dict1={'name':'John','age':25,'job':'En......
  • Python企业面试题1 —— 基础篇
    1.b、B、KB、MB、GB的关系?b----位(bit)B----字节(一个字节等于8位)1B=8bit1KB=1024B1MB=1024KB1GB=1024MB2.PE8规范1.使用4个空格而不是tab键进行缩进。2.每行长度不能超过79。3.使用空行来间隔函数和类。4.必要时候,在每一行下写注释。5.......
  • python相对路径导包与绝对路径导包的正确方式
    【python相对路径导包与绝对路径导包的正确方式】python相对路径导包与绝对路径导包的正确方式_哔哩哔哩_bilibilipython导包的难题,今天解决了,相对路径导包和绝对路径导包,均可以!!!,视频播放量5、弹幕量0、点赞数0、投硬币枚数0、收藏人数0、转发人数1,视频作者天龙战神......
  • Python+requests+Pytest+logging+allure+pymysql框架详解
    一、框架目录结构1)tools目录用来放公共方法存储,如发送接口以及读取测试数据的方法,响应断言数据库断言前置sql等方法;2)datas目录用例存储接口用例的测试数据,我是用excel来存储的数据,文件数据图片数据等;3)testcases目录用来存放测试用例,一个python文件对应一个接口模块的......
  • 机器学习每周挑战——旅游景点数据分析
    数据的截图,数据的说明:#字段数据类型#城市string#名称string#星级string#评分float#价格float#销量int#省/市/区string#坐标string#简介string#是否免费bool#具体地址string拿到数据第一步我们先导入数据......
  • 机器学习每周挑战——信用卡申请用户数据分析
    数据集的截图#字段说明#Ind_ID客户ID#Gender性别信息#Car_owner是否有车#Propert_owner是否有房产#Children子女数量#Annual_income年收入#Type_Income收入类型#Education教育程度#Marital_status婚姻状况#Housing_type居住......
  • Python从0到100(十):Python集合介绍及运用
    一、集合定义定义:由不同元素组成的集合,集合是一组无序排列可hash值,可作为字典的key。特性:集合的目的是将不同的值存放在一起,不同的集合间用来做关系运算,无须纠结于集合中的单个值。(1、不同元素组成2、无序3、集合中的元素必须是不可变类型)二、创建集合在Python中......
  • Python常用算法思想--递归算法思想详解【附源码】
    递归算法能够重复性的将问题分解为同类的子问题,然后解决这些子问题,最终达到解决最开始的问题为目的。以下从解决“阶乘”问题、“汉诺塔”问题、“斐波那契数列”问题、“最大公倍数和最小公约数”问题、“小球弹跳”、“深度优先”与“广度优先”问题等六个经典递归算法的案例......
  • 使用 Python 和 TensorFlow 构建深度人脸检测模型
    在本教程中,我们将逐步介绍使用Python和TensorFlow构建用于人脸检测的深度学习模型的过程。人脸检测是许多计算机视觉应用的重要组成部分,包括人脸识别、监控和图像理解。我们将利用卷积神经网络(CNN)和VGG16架构的强大功能来完成此任务。1.设置和数据收集1.1安装......
  • 使用 Python 构建第一个 CNN 机器学习模型的完整指南
    在这篇博文中,我们将逐步介绍如何使用Python构建第一个卷积神经网络(CNN)机器学习模型。由于CNN能够捕获数据中的空间层次结构,因此被广泛用于图像识别和分类任务。第1步:导入必要的库首先,让我们导入构建CNN模型所需的库:importnumpyasnpimportmatplotlib.pyplo......