对于此库的Octave/MatLab版本,请检查machine-learning-octave项目。

该库包含在Python中实现的流行机器学习算法的示例,其中包含数学背后的解释。 每个算法都有交互式Jupyter Notebook演示,允许您使用训练数据,算法配置,并立即在浏览器中查看结果,图表和预测。 在大多数情况下,解释是以Andrew Ng的这个伟大的机器学习课程为基础的。

此库的目的不是通过使用第三方库“单行方式”来实现机器学习算法,而是从头开始实践这些算法,并更好地理解每种算法背后的数学思维。 这就是为什么所有算法实现都被称为“自制”并且不打算用于生产的原因。

更多Python视频、源码、资料加群683380553免费获取

监督学习

在监督学习中,我们将一组训练数据作为输入,并将每组训练集的标签或“正确答案”作为输出。 然后我们正在训练我们的模型(机器学习算法参数)以正确地将输入映射到输出(以进行正确的预测)。 最终目的是找到这样的模型参数,即使对于新的输入示例,也能成功地得到正确的输入 - 输出映射(预测)。

回归

在回归问题中,我们进行实际的价值预测。 基本上我们尝试沿着训练样例绘制线/平面/n维平面。

用法示例:股票价格预测,销售分析,任意数字的依赖性等。

线性回归

数学| 线性回归 - 理论和进一步阅读的链接

代码| 线性回归 - 实现示例

演示| 单变量线性回归 - 按经济GDP预测国家幸福得分

演示| 多元线性回归 - 按经济GDP和自由指数预测国家幸福得分

演示| 非线性回归 - 使用具有多项式和正弦特征的线性回归来预测非线性依赖性。

分类

在分类问题中,我们通过某些特征分割输入示例。

用法示例:垃圾邮件过滤器,语言检测,查找类似文档,手写字母识别等。

逻辑回归

数学| 逻辑回归 - 理论和进一步阅读的链接

代码| 逻辑回归 - 实现示例

演示| 逻辑回归(线性边界) - 基于petal_length和petal_width预测虹膜花类

演示| 逻辑回归(非线性边界) - 基于param_1和param_2预测微芯片有效性

演示| 多元逻辑回归| 手写测试数据 - 识别28x28像素图像的手写数字。

演示| 多元逻辑回归| 时尚测试数据 - 识别28x28像素图像的衣服类型。

无监督学习

无监督学习是机器学习的一个分支,它从未经标记,分类或归类的测试数据中学习。 无监督学习不是响应反馈,而是根据每个新数据中是否存在这种共性来识别数据中的共性并做出反应

聚类

在聚类问题中,我们将以未知特征来分割训练样例。 算法本身决定了用于分割的特征。

用法示例:市场细分,社交网络分析,组织计算集群,天文数据分析,图像压缩等。

K-means算法

数学| K-means算法 - 理论和进一步读数的链接

代码| K-means算法 - 实现示例

演示| K-means算法 - 根据petal_length和petal_width将虹膜花分成簇

异常检测

异常检测(也称孤立点检测)是通过与大多数数据显著不同而引起怀疑的极少类别,事件或观测的识别。

用法示例:入侵检测,欺诈检测,系统健康监控,从数据集中删除异常数据等。

利用高斯分布进行异常检测

数学| 使用高斯分布的异常检测 - 理论和进一步读数的链接

代码| 使用高斯分布的异常检测 - 实现示例

演示| 异常检测 - 查找服务器操作参数(如延迟和阈值)中的异常

神经网络(NN)

神经网络本身不是算法,而是许多不同机器学习算法的框架,它们协同工作并处理复杂的数据输入。

用法示例:一般作为所有其他算法的替代,图像识别,语音识别,图像处理(应用特定样式),语言翻译等。

多层感知器(MLP)

数学| 多层感知器 - 理论和进一步阅读的链接

代码| 多层感知器 - 实现示例

演示| 多层感知器| 手写测试数据 - 识别28x28像素图像的手写数字。

演示| 多层感知器| 时尚测试数据 - 识别28x28像素图像的衣服类型。

机器学习知识图谱

以上机器学习主题图的来源是这篇精彩的博文

先决条件

安装Python

确保您的计算机上安装了Python。

您可能希望使用venv标准Python库来创建虚拟环境,并从本地项目目录安装和提供Python,pip和所有相关软件包,以避免弄乱系统范围的软件包及其版本。

安装依赖项

通过运行以下命令安装项目所需的所有依赖项:

在本地启动Jupyter

项目中的所有演示都可以直接在浏览器中运行,而无需在本地安装Jupyter。 但是如果你想在本地启动Jupyter Notebook,你可以从项目的根文件夹运行以下命令:

在这之后,http://localhost:8888可以访问这个Jupyter Notebook。

远程启动Jupyter

每个算法部分都包含到Jupyter NBViewer的演示链接。这是Jupyter Notebook的快速在线预览器,您可以在浏览器中查看演示代码,图表和数据,而无需在本地安装任何内容。 如果您想更改代码并尝试使用演示notebook来实验,您需要在Binder中启动笔记本。 您只需单击NBViewer右上角的“在活页夹上执行”链接即可完成此操作。

数据集

可以在数据文件夹中找到用于Jupyter Notebook演示的数据集列表。

用Python实现流行机器学习算法相关推荐

  1. python决策树 value_机器学习 | 算法笔记(四)- 决策树算法以及代码实现

    概述 上一篇讲述了<机器学习 | 算法笔记(三)- 支持向量机算法以及代码实现>,本篇讲述机器学习算法决策树,内容包括模型介绍及代码实现. 决策树 决策树(Decision Tree)在机 ...

  2. python基线计算法_从头开始:用Python实现基线机器学习算法

    在预测建模时,确定基线性能(baseline performance)是很重要的. 基线为评估更高级的方法提供了比较的标准. 在本教程中,你将了解如何在 Python 中实现基线机器学习算法(Base ...

  3. python:使用机器学习算法对卫星遥感影像进行分类

    之前写过一篇使用R语言对卫星影像进行kmeans聚类的文章,本文来个python版本的. Python版的没有R语言版本的简单(代码多了一些),但是通过Python版的学习可以清楚了解到对卫星影像进行 ...

  4. k邻近算法python代码_机器学习算法之K近邻法-Python实现

    一.算法简介 k近邻法(k-nearest neighbor,k-NN)是一种基本的分类方法,输入的是实例的特征向量,对应于特征空间的点,输出结果为实例的类别,可以取多类.对于训练集来说,每个实例的类 ...

  5. 跟着迪哥学python 经管之家_跟着迪哥学Python数据分析与机器学习实战

    本书结合了机器学习.数据分析和Python语言,通过案例以通俗易懂的方式讲解了如何将算法应用到实际任务. 全书共20章,大致分为4个部分.第一部分介绍了Python的工具包,包括科学计算库Numpy. ...

  6. 基于python的数据建模与分析案例_基于案例详解Python数据分析与机器学习

    课程概述: 使用数据领域最主流语言Python及其分析与建模库作为核心武器.对于机器学习经典算法给出完整的原理推导并基于实例进行讲解,基于案例演示如何应用机器学习算法解决实际问题. 课程特色: 通俗易 ...

  7. 机器学习算法与Python实践之(二)k近邻(KNN)

      机器学习算法与Python实践之(二)k近邻(KNN) (基于稀疏矩阵的k近邻(KNN)实现) 一.概述 这里我们先来看看当我们的数据是稀疏时,如何用稀疏矩阵的特性为KNN算法加速.KNN算法在之 ...

  8. 《Python机器学习算法》的写作历程

    前言 首先,感谢各位支持我博客的同学,你们的支持是我一直努力的动力,正是因为你们的支持,才有了<Python机器学习算法>一书的面世: 目前,该书已经可以在各大商城预定,以下罗列各大商城的 ...

  9. python算法的缺陷和不足_最全最实用的机器学习算法优缺点分析

    原标题:最全最实用的机器学习算法优缺点分析 最全最实用的机器学习算法优缺点分析 2017-06-10 数据派THU 来源:AI100 本文长度为4600字,建议阅读6分钟 本文结合使用场景及实际经验, ...

最新文章

  1. Simulink仿真教程4---模块库介绍
  2. 《短文本数据理解(1)》一1.3 短文本理解框架
  3. python 识别数字字母 训练集_Python 实现训练集、测试集随机划分
  4. Spring Data JPA 从入门到精通~默认数据源的讲解
  5. (转) PowerDesigner中Table视图同时显示Code和Name
  6. mach-o hook
  7. 什么是Web Service
  8. 如何退出while(cinvalue)的循环
  9. 【读书笔记】2_增强学习中的Q-Learning
  10. python 中 or 的特殊用法,很有用的一个用法
  11. ecs 导出mysql文件_mysql导出数据库文件
  12. 腾讯入局“低代码”赛道:无需敲码,快速生成一个完整系统!
  13. 韩顺平循序渐进学java百度云_韩顺平.循序渐进学java从入门到精通视频教程及笔记与源码下载(94讲)...
  14. Vue为啥可以成为2019年的一匹黑马?
  15. 03 Jme3和Nifty1.4.2中文显示
  16. 也谈Eclipse未自动在gen目录下生成R.java
  17. 【深度学习】YOLOv7速度精度超越其他变体,大神AB发推,网友:还得是你!|开源...
  18. 【机器人学】基于PoE模型的串联机械臂UR5的正运动学、微分运动学和逆运动学
  19. 如何提高ElasticSearch 索引速度
  20. 洛谷9月月赛 康娜的线段树

热门文章

  1. c语言iq测试,标准iq测试题答案
  2. 不是东北人,累死念不出来
  3. 「内存分配」大端小端详解
  4. Java中Runtime类详细总结
  5. 怎么使用openbabel的pybel?
  6. 计算代码时间复杂度方法
  7. 简单计算器,在校练习题
  8. 超详细带图详解,在linux下如何利用nginx部署自己的项目到服务器?认真看完,你不会过来找我!
  9. msckf-vio编译缺少random_numbers
  10. mysql 获取字符串前几位或后几位