目录

  • 引入
  • 一、线性回归 (Linear Regression)
  • 二、逻辑回归 (Logistic Regression)
  • 三、决策树 (Decision Tree)
  • 四、支持向量机算法 (Support Vector Machine,SVM)
  • 五、K邻近算法(K-Nearest Neighbors,KNN)
  • 六、K-均值算法(K-means)
  • 七、朴素贝叶斯 (Naive Bayes)
  • 八、随机森林 (Random Forest)
  • 九、降低维度算法(Dimensionality Reduction)
  • 十、梯度增强算法Gradient Boost和Adaboost算法

引入

本文为机器学习十大算法的汇总,本文仅介绍机器学习十大算法的一些基本概念,具体算法及python实现在附上的连接中,代码有参考网上的大佬,进行了大量的注释,有数据集的也将数据集放在了博文中,并附上了运行结果,希望对大家有用~~

一、线性回归 (Linear Regression)

线性回归(Linear Regression) 可能是最流行的机器学习算法。线性回归就是要找一条直线,并且让这条直线尽可能地拟合散点图中的数据点。

这种算法最常用的技术是最小二乘法(Least of squares)。这个方法计算出最佳拟合线,以使得与直线上每个数据点的垂直距离最小。总距离是所有数据点的垂直距离的平方和。其思想是通过最小化这个平方误差或距离来拟合模型。

  • 具体实现链接:机器学习----线性回归 (Linear Regression)算法原理及python实现

二、逻辑回归 (Logistic Regression)

逻辑回归(Logistic regression) 与线性回归类似,但它是用于输出为二进制的情况(即,当结果只能有两个可能的值)。一般用于需要明确输出的场景,如某些事件的发生(预测是否会发生降雨)。通常,逻辑回归使用某种函数将概率值压缩到某一特定范围。对最终输出的预测是一个非线性的 S 型函数,称为 logistic function, g()。

这个逻辑函数将中间结果值映射到结果变量 Y,其值范围从 0 到 1。然后,这些值可以解释为 Y 出现的概率。S 型逻辑函数的性质使得逻辑回归更适合用于分类任务。

  • 具体实现链接:机器学习----逻辑回归 (Logistic Regression)算法原理及python实现

三、决策树 (Decision Tree)

决策树(Decision tree) 是一种特殊的树结构,由一个决策图和可能的结果(例如成本和风险)组成,用来辅助决策。决策树仅有单一输出,通常该算法用于解决回归和分类问题。

机器学习中,决策树是一个预测模型,树中每个节点表示某个对象,而每个分叉路径则代表某个可能的属性值,而每个叶节点则对应从根节点到该叶节点所经历的路径所表示的对象的值。在每个节点上,我们根据可用的特征询问有关数据的问题。左右分支代表可能的答案。最终节点(即叶节点)对应于一个预测值。每个特征的重要性是通过自顶向下方法确定的。节点越高,其属性就越重要。

  • 具体实现链接:机器学习----决策树 (Decision Tree)算法原理及python实现

四、支持向量机算法 (Support Vector Machine,SVM)

**支持向量机(Support Vector Machine,SVM)**是一种用于分类问题的监督算法。SVM模型将实例表示为空间中的点,将使用一条直线(超平面)分隔数据点,且是两类数据间隔(边距:超平面与最近的类点之间的距离)最大。只通过几个支持向量就确定了超平面,说明它不在乎细枝末节,所以不容易过拟合,但不能确保一定不会过拟合。可以处理复杂的非线性问题。

  • 具体实现链接:机器学习----支持向量机 (Support Vector Machine,SVM)算法原理及python实现

五、K邻近算法(K-Nearest Neighbors,KNN)

K近邻算法通过在整个训练集中搜索 K个最相似的实例(欧氏距离最近的k个),并为所有这些K个实例分配一个公共输出变量,来对预测对象进行分类。属于有监督学习,是一种基于实例的学习,是局部近似和将所有计算推迟到分类之后的惰性学习。用最近的邻居(k)来预测未知数据点。

k 值是预测精度的一个关键因素,无论是分类还是回归,衡量邻居的权重都非常有用,较近邻居的权重比较远邻居的权重大。

  • 具体实现链接:机器学习----K邻近(K-Nearest Neighbors,KNN)算法原理及python实现

六、K-均值算法(K-means)

K-均值是通过对数据集进行分类来聚类的,属于无监督学习,为聚类问题提供了一种解决方案。在数据集没有标注的情况下,便于对数据进行分群。而K-Means中的K即指将数据集分成K个子集合。算法把 n 个点(可以是样本的一次观察或一个实例)划分到 k 个集群(cluster),使得每个点都属于离他最近的均值(即聚类中心,centroid)对应的集群。重复上述过程一直持续到重心不改变。

  • 具体实现链接:机器学习----K-均值(K-means)算法原理及python实现

七、朴素贝叶斯 (Naive Bayes)

朴素贝叶斯算法是一种有监督的分类算法,可以进行二分类,或者多分类。基于概率论的贝叶斯定理,应用非常广泛,从文本分类、垃圾邮件过滤器、医疗诊断等等。朴素贝叶斯适用于特征之间的相互独立的场景,例如利用花瓣的长度和宽度来预测花的类型。“朴素”的内涵可以理解为特征和特征之间独立性强。

  • 具体实现链接:机器学习----朴素贝叶斯 (Naive Bayes)算法原理及python实现

八、随机森林 (Random Forest)

随机森林是一个高度灵活的机器学习方法,利用多个决策树对样本进行训练、分类并预测,主要应用于回归和分类场景。在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择(即引入随机特征选择)。

简单来说,随机森林就是对决策树的集成,但随机森林中决策树的分类特征是在所有特征中随机选择的。

随机森林中有许多的分类树。我们要将一个输入样本进行分类,我们需要将输入样本输入到每棵树中进行分类,森林中的每棵树都是独立的,学习器根据每棵树的预测结果来得出最终的结果,99.9%不相关的树做出的预测结果涵盖所有的情况,这些预测结果将会彼此抵消。

  • 具体实现链接:机器学习----随机森林 (Random Forest)算法原理及python实现

九、降低维度算法(Dimensionality Reduction)

通常情况下,在收集数据集时会有很多的特征,这代表着数据是高冗余的表示,但是对于某个工程来说其实可能并不需要那么多的特征。所以就需要给数据进行降维(Dimensionality Reduction)。降维可以简化数据,使数据集更易使用,降低时间开销,而且能减少一部分噪音的影响,使最后的效果变好。
目前,主要降维方法有:主成分分析法(Principal Component Analysis, PCA)、因子分析法(Factor Analysis)、独立成分分析(Independent Component Analysis, ICA)

  • 具体实现链接:机器学习----降低维度(Dimensionality Reduction)算法原理及python实现

十、梯度增强算法Gradient Boost和Adaboost算法

梯度增强算法(Gradient Boosting)使用多个弱算法来创建更强大的精确算法。它与使用单个估计量不同,而是使用多个估计量创建一个更稳定和更健壮的算法,梯度增强算法的特点是精度较高。梯度增强算法有几种:
XGBoost  — 使用线性和树算法
LightGBM  — 只使用基于树的算法
GBDT(Gradient Boosting Decision Tree)算法是集成算法中的一种,它的最基本分类器为CART二分类回归树,集成方式为梯度提升。

  • 随后更新

机器学习十大算法实现代码汇总(python)----线性回归、逻辑回归、决策树、支持向量机、朴素贝叶斯、K邻近算法、K-均值算法、随机森林、降低维度算法、梯度增强算法相关推荐

  1. 基于Python的情感极性判断(基于规则、基于逻辑回归、基于朴素贝叶斯)

    资源下载地址:https://download.csdn.net/download/sheziqiong/85734418 资源下载地址:https://download.csdn.net/downl ...

  2. 《机器学习西瓜书》学习笔记——第七章_贝叶斯分类器_朴素贝叶斯分类器

    朴素:特征条件独立:贝叶斯:基于贝叶斯定理. 朴素贝叶斯是经典的机器学习算法之一,也基于概率论的分类算法,属于监督学习的生成模型.朴素贝叶斯原理简单,也很容易实现,多用于文本分类,比如垃圾邮件过滤. ...

  3. 《数据分析实战》总结二之分类算法:决策树,朴素贝叶斯,SVM,KNN,Adaboost

    1 决策树 1.1 工作原理 把以前的经验总结出来,最后得到结果 比如打篮球,一般会根据"天气"."温度"."湿度"."刮风&qu ...

  4. python 食品_[准确率:98%] 改进朴素贝叶斯自动分类食品安全新闻

    这是本系列第二篇文章,位于源代码的 2. NB_Weights 中: https://github.com/Ckend/NLP_DeepLearning_CN_Tutorial 前一篇文章中,我们学习 ...

  5. 使用Sklearn学习朴素贝叶斯算法

    目录 1,sklearn中的贝叶斯分类器 1.1,高斯朴素贝叶斯GaussianNB 1.1.1,认识高斯朴素贝叶斯 1.1.2,参数说明 1.1.3,高斯朴素贝叶斯建模案例 1.1.4,探索高斯朴素 ...

  6. 机器学习 | Sklearn中的朴素贝叶斯全解

    前期文章介绍了朴素贝叶斯理论,掌握理论后如何去使用它,是数据挖掘工作者需要掌握的实操技能,下面来看看Sklearn中都有哪些朴素贝叶斯. 朴素贝叶斯是运用训练数据学习联合概率分布 及 ,然后求得后验概 ...

  7. Python 高斯朴素贝叶斯的优缺点

    关注微信公共号:小程在线 关注CSDN博客:程志伟的博客 Sklearn基于这些分布以及这些分布上的概率估计的改进,为我们提供了四个朴素贝叶斯的分类器 类 含义 naive_bayes.Bernoul ...

  8. 机器学习十大算法(二)

    文章来源:https://www.dezyre.com/article/top-10-machine-learning-algorithms/202 本人自行翻译,如有错误,还请指出.后续会继续补充实 ...

  9. 机器学习十大算法系列(一)——逻辑回归

    本系列博文整理了常见的机器学习算法,大部分数据问题都可以通过它们解决: 1.线性回归 (Linear Regression) 2.逻辑回归 (Logistic Regression) 3.决策树 (D ...

  10. 【机器学习入门】(3) 朴素贝叶斯算法:多项式、高斯、伯努利,实例应用(心脏病预测)附python完整代码及数据集

    各位同学好,今天我和大家分享一下朴素贝叶斯算法中的三大模型.在上一篇文章中,我介绍了朴素贝叶斯算法的原理,并利用多项式模型进行了文本分类预测. 朴素贝叶斯算法 -- 原理,多项式模型文档分类预测,附p ...

最新文章

  1. js 时间戳与日期处理集合
  2. 饥荒联机版连不上服务器_饥荒联机版不搜索房间直连服务器教程 搜索不到房间怎么办_游侠网...
  3. 在线网上打字系统_在线网上打字比赛软件_打字练习_中英文打字系统
  4. 详解java中Thread类,线程和进程的基本区别,多线程的好处,线程的五个生命周期,主线程和IDEA创建的Monitor Ctrl-Break守护线程;优雅地终止线程。死锁的产生
  5. 浅析利用MetaWeblog接口同步多个博客
  6. 三十三、深入Vue.js语法(上篇)
  7. 计算机课中初中一年级学生特点分析,初中信息技术说课稿:计算机的组成
  8. java 函数式编程 示例_功能Java示例 第1部分–从命令式到声明式
  9. leetcode 121
  10. 终于有人把RISC-V讲明白了
  11. Jsp+Servlet+Mysql实现的在线图书商城源码
  12. Python 测试驱动开发(五)测试数据库(上)
  13. git升级到指定版本
  14. 点云深度学习——点云配准网络DCP复现
  15. 人生的意义无非就是在平淡中活着
  16. 全网域名已注册、未注册批量查询工具
  17. 不断下沉的咖啡业,是虚假的繁荣还是破局的前夜?
  18. PIXIJS学习笔记
  19. v2.error: C:\projects\opencv-python\opencv\modules\imgproc\src\imgwarp.cpp:5594: error: (-215) (M0.t
  20. 修复硬盘坏道故障及其后期处理方法

热门文章

  1. html js3d魔方,40行JavaScript代码实现的3D旋转魔方动画效果
  2. 开发者需要什么样的技术社区?
  3. EDEM 2020的安装
  4. 【Android 逆向】Android 中常用的 so 动态库 ( libm.so 数学函数动态库 | liblog.so 日志模块动态库 | libselinux.so 安全模块动态库 )
  5. 西门子s7-200解密软件下载_西门子S7200plc软件仿真软件使用方法
  6. 非常新能源铝电池项目的产业化展开的分析报告v1.1
  7. 局域网屏幕共享_【宅家宝典】将手机屏幕搬上电视,只需解锁一个技能!
  8. 重装助手教你如何在Windows中正确调整屏幕分辨率设置
  9. mina框架CumulativeProtocolDecoder.doDecode方法浅析
  10. Android8.0一键root,小米mix 全网通(安卓8.0)一键ROOT教程,看教程ROOT