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。这一类算法被称为“懒惰学习”算法,而样本需要在训练阶段进行处理的算法被称为“急切学习”算法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/792983.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式面试题(二)

1.单例优缺点 单例模式是一种常用的设计模式,它确保一个类仅有一个实例,并提供一个全局访问点。单例模式的使用具有一定的优点,同时也伴随着一些潜在的缺点。 优点 资源控制:单例模式能够确保资源如数据库连接或文件系统的一致…

目标检测——监控下的汽车

一、重要性及意义 首先,车辆检测技术是保证视频监控系统正常运行的基础。通过监控摄像头实时获取的图像,可以自动检测出图像中的车辆,并进行车辆类型的分类和识别。这对于优化城市交通管理、实现智能交通系统具有重要意义。此外,…

【无标题】html中使用div标签的坏处

在HTML中使用<div>作为布局元素时&#xff0c;尽管它已经成为现代Web开发的标准做法之一&#xff0c;并且与CSS结合使用可以实现灵活、语义化的布局设计&#xff0c;但也存在以下潜在的坏处或挑战&#xff1a; 复杂度增加&#xff1a; - 学习曲线&#xff1a;对于初学者…

【SQL Server的详细使用教程】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

【QT+QGIS跨平台编译】056:【pdal_lepcc+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

点击查看专栏目录 文章目录 一、pdal_lepcc介绍二、pdal下载三、文件分析四、pro文件五、编译实践一、pdal_lepcc介绍 pdal_lepcc 是 PDAL(Point Data Abstraction Library)的一个插件,用于点云数据的压缩。它基于 EPCC(Entwine Point Cloud Compression)算法,提供了对点…

Go语言实现Redis分布式锁

基于go-redis的设计与实现 本文将基于go语言&#xff0c;使用了一个常用的go Redis客户端 go-redis库 , 一步一步探索与实现一个简单的Redis分布式锁。 代码&#xff1a;https://github.com/liwook/Redislock 连接Redis ​ func NewClient() *redis.Client {return redis.N…

51单片机入门之独立按键

目录 1.按键简介 2.独立按键控制LED亮灭 3.独立按键控制LED移位 1.按键简介 在生活中&#xff0c;我们常常会见到各种按键&#xff0c;我们的开发板上也有按键&#xff0c;就在左下角有四个按键&#xff0c;我们把它们叫做独立按键。 独立按键的原理比较简单&…

VUE实现下一页的功能

实现步骤&#xff1a;1、确定分页参数&#xff1a;确定当前页码和每页显示的数量&#xff1b;2、获取数据&#xff1a;使用vue的axios或其他http库向后端发送请求&#xff0c;传递当前页码和每页显示的数量作为参数&#xff1b;3、更新数据&#xff1a;在vue组件中&#xff0c;…

Qt与OpenCV实现图像模板匹配

在 Qt 中使用 OpenCV 实现模板匹配可以通过集成 OpenCV 库和使用其相关函数来完成。以下是一般的步骤&#xff1a; 安装 OpenCV&#xff1a;首先&#xff0c;确保你已经安装了 OpenCV 库&#xff0c;并将其配置到你的开发环境中。 创建 Qt 项目&#xff1a;使用 Qt creator 或…

VSCode 插件 Todo Tree 待办事项

官方介绍&#xff1a;这个扩展可以快速搜索工作区中的注释标签&#xff0c;并将它们显示在活动栏的树状图中 我们写代码的时候&#xff0c;难免会遇到一些情况需要标记或搁置&#xff0c;比如&#xff1a;前端开发者在编写页面的时候页面样式完成了&#xff0c;但是后端接口还…

【机器学习】《机器学习算法竞赛实战》第7章用户画像

文章目录 第7章 用户画像7.1 什么是用户画像7.2 标签系统7.2.1 标签分类方式7.2.2 多渠道获取标签7.2.3 标签体系框架 7.3 用户画像数据特征7.3.1 常见的数据形式7.3.2 文本挖掘算法7.3.3 神奇的嵌入表示7.3.4 相似度计算方法 7.4 用户画像的应用7.4.1 用户分析7.4.2 精准营销7…

RabbitMQ安装详细教程

&#xff08;一&#xff09;在Windows系统上安装Erlang的步骤如下&#xff1a; 打开Erlang的官方下载页面&#xff0c;选择适合你的Windows系统的版本进行下载。 下载完成后&#xff0c;双击运行下载的.exe文件&#xff0c;进入Erlang的安装向导。 在安装向导中&#xff0c;按…

vscode-keil一起用

安装插件 1、C/C Extension Pack 2、Keil Assistant 配置 重启生效&#xff01;&#xff01;&#xff01; 下载安装 Mingw 下载链接&#xff1a; 添加环境变量&#xff1a; 注意确认&#xff01;&#xff01;&#xff01; 报错 gccC:\迅雷下载\MinGW\MinGW\bin…

力扣爆刷第111天之CodeTop100五连刷41-45

力扣爆刷第111天之CodeTop100五连刷41-45 文章目录 力扣爆刷第111天之CodeTop100五连刷41-45一、232. 用栈实现队列二、4. 寻找两个正序数组的中位数三、31. 下一个排列四、69. x 的平方根五、8. 字符串转换整数 (atoi) 一、232. 用栈实现队列 题目链接&#xff1a;https://le…

注解(Annotation)

10.1 注解概述 10.1.1 什么是注解 注解&#xff08;Annotation&#xff09;是从JDK5.0开始引入&#xff0c;以“注解名”在代码中存在。例如&#xff1a; Override Deprecated SuppressWarnings(value”unchecked”) Annotation 可以像修饰符一样被使用&#xff0c;可用于修饰…

【八股】Spring MVC

什么是Spring MVC&#xff1f; Spring MVC 是 Spring 中的一个很重要的模块&#xff0c;是一个根据MVC架构推出的web开发框架&#xff0c;目的是为了简化Java的web开发 Spring MVC 执行流程&#xff1f; 现在一般都是前后端分离&#xff0c;根据接口去开发嘛&#xff0c;所以…

ChatGPT 之赋能提示词工程

原文&#xff1a;Chatgpt Empowers Your Prompt Engineering with AI Tools 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 介绍 在当今这个时代&#xff0c;设计和人工智能工具对于企业在不断发展的市场中蓬勃发展至关重要。ChatGPT 为探索一系列可能性提供了机会&am…

Visual Studio(VS) 搭建 QT 开发环境

Visual Studio(VS) 搭建 QT 开发环境 在当今的软件开发领域,Visual Studio(VS)是一款备受欢迎的集成开发环境(IDE),而 QT 则是一个强大的跨平台应用程序框架。将两者结合使用,可以为开发人员提供高效、便捷的开发体验。本文将详细介绍如何在 VS2022 中搭建 QT 开发环…

中兴天机A31 A31PRO 5G zte A2122H te A2022H 解锁BootLoader root权限 教程magisk,原厂刷机包

zte A2122H P768A02 zte A2022H P875A02 中兴天机A31 A31PRO 5G zte A2122H te A2022H 解锁BootLoader root教程magisk&#xff0c;原厂刷机包 感谢 某大神支持&#xff0c;已经解锁root 刷了面具&#xff1b; 中兴天机A31 A31PRO 5G zte A2122H te A2022H 解锁BootLoad…

2024.3.16力扣每日一题——矩阵中移动的最大次数

2024.3.16 题目来源我的题解方法一 深度优先遍历&#xff08;超时&#xff09;方法二 动态规划方法三 广度优先遍历 题目来源 力扣每日一题&#xff1b;题序&#xff1a;2684 我的题解 方法一 深度优先遍历&#xff08;超时&#xff09; 从第一列的每一行开始进行深度优先遍…