1.监督学习

根据已有的数据集,知道输入和输出结果之间的关系。根据这种已知的关系,训练得到一个最优的模型。监督学习可以分成分类学习和回归预测两类,下面我们主要简单介绍一下分类学习的模型。

2.线性分类器

线性分类器是一种假设特征和分类结果存在线性关系的模型,这个模型通过累加计算每个维度上的特征和各自权重的乘积来帮助类别决策。
这种线性关系可以表示为:
f ( w , x , b ) = w T x + b f(w,x,b)=w^Tx+b f(w,x,b)=wTx+b
其中x=[x1,x2,x3…xn]表示分类特征的n维列向量
w=[w1,w2,w3…wn]表示权重的n维列向量
b是截距

对于二分类问题,我们需要把 f ( w , x , b ) f(w,x,b) f(w,x,b)映射到[0,1]区间上,因此我们引入逻辑斯蒂函数:
g ( z ) = 1 1 + e − z g(z)=\frac {1}{1+e^-z} g(z)=1+e−z1​
函数图像如下:

将上面的z替换成为 f ( w , x , b ) f(w,x,b) f(w,x,b)就实现了将数据映射到[0,1]区间上。

from sklearn.linear_model import LogisticRegression
from sklearn.linear_model import SGDClassifier
from sklearn.metrics import classification_reportlr = LogisticRegression()
sgdc = SGDClassifier()#输出LR的准确率和混淆矩阵
print('Accuracy of LR Classifier:', lr.score(X_test, y_test))
print(classification_report(y_test, lr_y_predict, target_names=['Benign', 'Malignant']))#输出随机梯度下降的准确率和混淆矩阵
print('Accravy of SGD Classifier:', sgdc.score(X_test, y_test))
print(classification_report(y_test, sgdc_y_predict, target_names=['Benign', 'Malignant']))

classification_report
用于模型的结果评估

上面图片中5式表示准确性,6式是精确率(越大越好),7式是召回率(越大越好)。
综合考量精确率和召回率我们可以得到

同样F1指标越大越好

3.支持向量机

支持向量机中拟合出来的线性分界线是由支持向量所决定,而不是像前面线性分类器中所有数据共同决定的。

比如要划分黑球和白球,有H1,H2,H3等多种划分方式,支持向量这是是图中虚线连接的两个球所表示的向量,这两个向量对于划分的贡献是最大的。

from sklearn.svm import LinearSVC

4.朴素贝叶斯

朴素贝叶斯利用的是先验概率和后验概率的关系。
我们知道数学公式即在x的条件下发生y的概率和在y的条件下发生x的概率是一样的,公式表达如下:

举一个例子,假如我们有一系列的数据,性别男女以及他们所对应的身高,体重,鞋码等,然后给你一个新的数据:身高“高”、体重“中”,鞋码“中”,请问这个人是男还是女?
男女就是类型,男y1,女y2;
属性条件:身高x1,体重x2,鞋码x3
那么我们想求在 x1、x2、x3 属性下,yi 的概率,用条件概率表示就是 P(yi|A1A2A3)。
因为一共有 2 个类别,所以我们只需要求得 P(y1|x1x2x3) 和P(y2|x1x2x3) 的概率即可,然后比较下哪个分类的可能性大,就是哪个分类结果是男还是女。

from sklearn.naive_bayes import MultinomialNB

该模型适用于文本识别等

5.K近邻

K近邻通俗来说就是“近朱者赤近墨者黑”,模型适用于物种识别
模型的参数可以用来规定用于分类的时候周围样本点的个数,下图表示周围有3个样本点和有7个样本点时的情况。

from sklearn.neighbors import KNeighborsClassifier
Kn = KNeighborsClassifier(n_neighbors=5)

6.决策树

前面所涉及到的线性分类器和支持向量机在某种程度上都是需要特征和目标之间遵从线性假设,决策树则比较直观,它的决定由叶子节点完成,当然决策树也存在问题,就是对于特征节点的选择上,不同的选择会带来不同的结果。

from sklearn.tree import DecisionTreeClassifier

7.集成模型

综合考虑多个分类器的预测结果,主要集成模型可以分成两类。
一类是的训练数据来搭建多个独立的训练模型,以少数服从多数的方式来预测最终的结果,代表的有随机森林分类器,这是对上面决策树缺点的改进,可以随机选择特征来搭建从上到下的决策树,避免了决策树的一致性。
还有一类是遵循一定的次序来搭建多个分类模型,后面模型的加入对前面模型的综合能力有提示,代表的有梯度提升决策树。

from sklearn.ensemble import RandomForestClassifier
from sklearn.ensemble import GradientBoostingClassifier

监督学习分类学习模型简介相关推荐

  1. 无监督学习------分类学习-----朴素贝叶斯(navie bayes)

    朴素贝叶斯是一个实用性很强的分类模型,不过线性分类器和支持向量机分类器(基于线性假设的模型)不同,朴素贝叶斯的构造基础是贝叶斯理论 这个模型的基本数学假设是:各个维度上的特征被分类的条件概率之间是相互 ...

  2. 时间序列分类01:人类活动识别深度学习模型综述

    [时间序列预测/分类] 全系列60篇由浅入深的博文汇总:传送门 本文介绍了人类活动识别相关领域的建模方法和理论研究. 文章目录 前言 相关论文 1. 人类活动识别简介 2. 使用神经网络进行建模的优势 ...

  3. 【NLP】相当全面:各种深度学习模型在文本分类任务上的应用

    论文标题:Deep Learning Based Text Classification:A Comprehensive Review 论文链接:https://arxiv.org/pdf/2004. ...

  4. bert模型简介、transformers中bert模型源码阅读、分类任务实战和难点总结

    bert模型简介.transformers中bert模型源码阅读.分类任务实战和难点总结:https://blog.csdn.net/HUSTHY/article/details/105882989 ...

  5. 【深度学习】深度学习分类与模型评估

    内容大纲 分类和回归之外的机器学习形式 评估机器学习模型的规范流程 为深度学习准备数据 特征工程 解决过拟合问题 处理机器学习问题的通用流程 监督学习的主要种类及其变种 主要包括两大类问题: 分类 回 ...

  6. 监督学习之分类学习:支持向量机

    监督学习之分类学习:支持向量机 如果想了解更多的知识,可以去我的机器学习之路 The Road To Machine Learning通道 Introduction 分类学习是最为常见的监督学习问题, ...

  7. 【文本分类】常见文本分类深度学习模型汇总

    在深度学习被广泛用于NLP之前,文本分类任务的常见pipeline为: (1)人工/半自动特征抽取:包括one-hot编码.count features.TF-IDF.词性/句法信息等等 (2)分类器 ...

  8. (翻译)传统和深度学习模型在文本分类中的应用综述与基准

    原文:Overview and benchmark of traditional and deep learning models in text classification 本文是我在试验Twit ...

  9. 如何将深度学习模型部署到实际工程中?(分类+检测+分割)

    应用背景介绍 早在遥远的1989年,一家叫做ALVIVN的公司首次将神经网络用在汽车上,进行车道线检测和地面分割.时至今日,深度学习已经应用在自动驾驶系统的多个分支领域.首先是感知领域,常用的传感器有 ...

  10. 【深度学习模型的训练与评估】一个实例:Iris多分类

    文章目录: 1 评估深度学习模型1.1 自动评估1.2 手动评估1.3 k折交叉验证 2 在Keras中使用Sklearn 3 深度学习模型调参数 4 Iris多分类4.1 数据集分析4.2 代码 1 ...

最新文章

  1. RESTful Levels HATEOAS
  2. 怎么修剪_幸福树怎么修剪——武汉花卉租摆
  3. HTML饼状图中心添加文字,echarts饼状图环形中间动态文字
  4. python操作word文档中的图片_Python操作word文档插入图片和表格的实例演示
  5. OSPF中的次优外部路由——Forwarding Address
  6. NameNode高可用中editlog同步的过程
  7. iframe框根据内容自适应高度
  8. 第十七周项目4 - 日期结构体(是当年的第几天)
  9. 算法第四版 课后习题答案
  10. 数字信号处理——线性相位型(Ⅱ、Ⅳ型)FIR滤波器设计(2)
  11. 千万不要用memset函数对二维数组进行初始化
  12. Black-Scholes期权定价模型
  13. 天气预报API,你想要的它都有
  14. 想知道有哪些缩小视频大小的软件?这几个压缩软件你该知道
  15. Science上聚类算法论文——Clustering by fast search and find of density peaks翻译稿
  16. B站首页内容运营分析
  17. 照片转化成二维图片怎么做?图片内容如何生成二维码?
  18. openwrt patch文件怎么用_openwrt patch
  19. 计算机专业可取证书名称,职业中专计算机维修专业发的职业资格证书名称叫什..._出版资格_帮考网...
  20. [C#] UI跨执行绪

热门文章

  1. [刷题之旅no6]后缀表达式
  2. 求不黑,这样的广东高考作文能打几分?
  3. C++求一个整数的所有数位之和
  4. 泛微ecology8表单html,泛微-Ecology8电脑端单点登录总结
  5. 23考研-西南大学计算机学院-电子信息-907-初试经验贴
  6. WPF基础四:UI的相关类 (3)ContentControl类
  7. 如何安装svelte_如何在svelte中创建路由器
  8. python大数据运维工程师_Linux云计算运维工程师路线图(集群、虚拟化、K8S、Docker、智能化、Python大数据)...
  9. 如何解决IDEA或PyCharm 莫名出现的黑色斑块,或者说文字下方出现随鼠标移动的黑色底色
  10. ​VsCode修改侧边栏字体大小——用缩放的方法​