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

相关推荐
柳鲲鹏8 小时前
jiangdg/AndroidCamera关闭摄像头流程
笔记
warrah8 小时前
k8s迁移——岁月云实战笔记
笔记·容器·kubernetes
江南野栀子8 小时前
数据可视化-1. 折线图
信息可视化·数据挖掘·数据分析
反方向的钟儿9 小时前
非结构化数据分析与应用(Unstructured data analysis and applications)(pt3)图像数据分析1
人工智能·计算机视觉·数据分析
感谢地心引力9 小时前
【数据分析】层次贝叶斯
机器学习·数据分析·概率论
岳不谢11 小时前
华为DHCP高级配置学习笔记
网络·笔记·网络协议·学习·华为
19999er13 小时前
CDN信息收集(小迪网络安全笔记~
服务器·网络·笔记·安全·web安全
红色的山茶花13 小时前
YOLOv9-0.1部分代码阅读笔记-dataloaders.py
笔记·深度学习·yolo
UQI-LIUWJ13 小时前
datasets 笔记:加载数据集(基本操作)
笔记