五、分类模型_大五模型包括

五、分类模型_大五模型包括一、分类模型的定义文章目录一、分类模型的定义二、分类模型类型2.1、逻辑回归2.2、决策树2.3、支持向量机2.4、朴素贝叶斯在机器学习中,我们把机器学习分为监督学习和非监督学习,监督学习就是在一组有标签(有目标)属性的数据集中,我们将数据教给机器学习,让他根据数据中的属性和目标,去看题目答案一样把答案记住。之后再给类似的题目去作一样。我们把数据集中的标签,一般都标为属性,而我们又把属性分为离散属性和连续属性,每一个标签都是可以这样分的。像如果我们预测的属性值的特性是连续属性的话,我们把这种模型称为是

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、分类模型的定义

在机器学习中,我们把机器学习分为监督学习和非监督学习,监督学习就是在一组有标签(有目标)属性的数据集中,我们将数据教给机器学习,让他根据数据中的属性和目标,去看题目答案一样把答案记住。之后再给类似的题目去作一样。

我们把数据集中的标签,一般都标为属性,而我们又把属性分为离散属性和连续属性,每一个标签都是可以这样分的。像如果我们预测的属性值的特性是连续属性的话,我们把这种模型称为是回归模型。

最为典型的就是: y = w ∗ x + b y=w*x+b y=wx+b 这样的一元回归(也就是一次函数,推广一下就是多元回归)

我们预测是连续的属性,我们可以称为是回归模型,那么如果我们预测的是离散属性呢,属性值只有1/0或者多个类别,我们把预测这种的模型就叫做分类模型

二、分类模型类型

在分类模型中,我们有:

  • 逻辑回归(名字带有回归可不一定是回归啊)
  • 决策树
  • 支持向量机(最为经典一种)
  • 朴素贝叶斯

在机器学习中,我们基本上都可以将都可以监督学习算法分为回归与分类的

2.1、逻辑回归

再说逻辑回归之前我们需要先了解sigmold函数:

f ( x ) = 1 / ( 1 + e y ) f(x)=1/(1+e^y) f(x)=1/(1+ey)

此函数和线性回归方程联合一起即可,得到逻辑回归方程

import numpy as np
import math
import matplotlib.pyplot as plt
%matplotlib inline
X=np.linspace(-5,5,200)
X=np.linspace(-5,5,200)
y=[1/(1+math.e**(-x)) for x in X]
plt.plot(X,y)
plt.show()

在这里插入图片描述

在这里我们先通过线性回归将数据分类,分类之后可以通过sigmold函数取离散化

在现实生活中逻辑回归模型一般是不够好的,所以我们很少用到逻辑回归,

2.2、决策树

对于分类树来说,给定一个观测值,因变量的预测值为它所属的终端结点内训练集的最常出现的类。分类树的构造过程与回归树也很类似,与回归树一样,分类树也是采用递归二叉分裂。但是在分类树中,均方误差无法作为确定分裂节点的准则,一个很自然的替代指标是分类错误率。分类错误率就是:此区域内的训练集中非常见类所占的类别,即:
上式中的代表第m个区域的训练集中第k类所占的比例。但是在大量的事实证明:分类错误率在构建决策树时不够敏感,一般在实际中用如下两个指标代替:
(1) 基尼系数

(2) 交叉熵:

# 使用决策树算法对iris分类:
''' criterion:{“gini”, “entropy”}, default=”gini” max_depth:树的最大深度。 min_samples_split:拆分内部节点所需的最少样本数 min_samples_leaf :在叶节点处需要的最小样本数。 '''
from sklearn.tree import DecisionTreeClassifier
from sklearn import datasets
tree_iris = DecisionTreeClassifier(min_samples_leaf=5)
import pandas as pd
 
iris = datasets.load_iris()
X = iris.data
y = iris.target
feature = iris.feature_names
data = pd.DataFrame(X,columns=feature)
data['target'] = y
data.head()
sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) target
0 5.1 3.5 1.4 0.2 0
1 4.9 3.0 1.4 0.2 0
2 4.7 3.2 1.3 0.2 0
3 4.6 3.1 1.5 0.2 0
4 5.0 3.6 1.4 0.2 0
tree_iris.fit(X,y)
tree_iris.score(X,y)
0.9733333333333334

2.3、支持向量机

支持向量机SVM是20世纪90年代在计算机界发展起来的一种分类算法,在许多问题中都被证明有较好的效果,被认为是适应性最广的算法之一。

支持向量机是一类按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)求解方法很多,可以参考李航的<<统计学习>>学习

from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
''' C:正则化参数。正则化的强度与C成反比。必须严格为正。惩罚是平方的l2惩罚。 kernel:{'linear','poly','rbf','sigmoid','precomputed'},默认='rbf' degree:多项式和的阶数 gamma:“ rbf”,“ poly”和“ Sigmoid”的内核系数。 shrinking:是否软间隔分类,默认true '''
svc_iris = make_pipeline(StandardScaler(), SVC(gamma='auto'))
svc_iris.fit(X, y)
svc_iris.score(X,y)
0.9733333333333334

2.4、朴素贝叶斯

贝叶斯方法是以贝叶斯原理为基础,使用概率统计的知识对样本数据集进行分类。由于其有着坚实的数学基础,贝叶斯分类算法的误判率是很低的。贝叶斯方法的特点是结合先验概率和后验概率,即避免了只使用先验概率的主观偏见,也避免了单独使用样本信息的过拟合现象。贝叶斯分类算法在数据集较大的情况下表现出较高的准确率,同时算法本身也比较简单

有的涉及公式推导和具体算法实现在这里就不在陈诉了,具体可以参考以下文章
优化理论之无约束优化基本结构及其python应用
最优化理论之负梯度方法与Newton型方法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188167.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • selenium用法详解【从入门到实战】【Python爬虫】【4万字】[通俗易懂]

    selenium用法详解【从入门到实战】【Python爬虫】【4万字】[通俗易懂]文章目录selenium简介selenium安装安装浏览器驱动确定浏览器版本下载驱动定位页面元素打开指定页面id定位name定位class定位tag定位xpath定位css定位link定位partial_link定位浏览器控制修改浏览器窗口大小浏览器前进&后退浏览器刷新浏览器窗口切换常见操作鼠标控制单击左键单击右键双击拖动鼠标悬停键盘控制设置元素等待显式等待隐式等待强制等待定位一组元素切换操作窗口切换表单切换弹窗处理上传&下载文件上传文件下载文件Chrome浏览器Fir

    2022年4月30日
    153
  • Delphi考虑sql注入 QuotedStr

    Delphi考虑sql注入 QuotedStr之前只在BS架构的项目中考虑了Sql注入问题,却很少考虑到用了多年的Delphi项目也应该考虑Sql注入的问题,今天做了个实验,成功完成注入,把表里数据全部删除,以后再做Delphi项目还真的考虑这个问题。总体讲,大体知道有两种方式可以避免Delphi中的Sql注入:1、用QuotedStr替代”’进行字符串拼接;2、采用传参数的方式与数据库交互,这种方式哪天再仔细体验一下。 以下为一个小测试,…

    2022年10月18日
    0
  • Google资深工程师深度讲解Go语言-爬虫实战项目(十三)

    Google资深工程师深度讲解Go语言-爬虫实战项目(十三)

    2022年2月17日
    36
  • cs与bs架构_cs架构和bs架构的应用

    cs与bs架构_cs架构和bs架构的应用CS和BS架构介绍

    2022年9月9日
    0
  • 安卓broadcastreceiver_Android手电筒原理

    安卓broadcastreceiver_Android手电筒原理目录BroadcastReceiver概述BroadcastReceiver分类registerReceiver流程图源码解析总结1.BroadcastReceiver概述广播作为四大组件之一,在平时开发过程中会大量使用到,使用方式也是多种多样的,既可以自己在manifest中注册,也可以在java代码中动态注册,既可以接收由系统发出的广播,也可以接受自己定义并发送的广播。广播…

    2022年9月12日
    0
  • 颜色空间RGB与HSV(HSL)的转换

    颜色空间RGB与HSV(HSL)的转换

    2021年12月16日
    54

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号