github 专案介绍 – Python 范例:透过互动式的 Jupyter 和数学解释流行的机器学习演算法
对于机器学习有兴趣,不少人应该会先从 Andrew Ng ( 吴恩达 ) 的机器学习课程开始,但是吴恩达的课程是使用
octave 这个工具当作练习。这个 github 项目包含使用 Python 实现流行机器学习算法的范例,并解释了其背后的
数学原理。 每个算法都有交互式的 Jupyter Notebook 示范,可以让你玩训练数据、算法配置,并立即在浏览器中
检视结果、图表和预测。 在大多数情况下,这些解释都是基于 Andrew Ng 的这门伟大的机器学习课程。
这个储存库的目的不是通过使用第三方程式库”一行程序”来实现机器学习算法,而是从头开始实践这些算法,并更好
地理解每个算法背后的数学原理。
https://softnshare.com/github-machine-learning-octave/
监督式学习 ( Supervised Learning )
在监督式学习,我们有一组作为输入的训练资料和一组标签或作为输出的每个训练集的”正确答案”。 然后我们训练我们的模型(机器学习演算法参数)来正确地对映输入到输出(做正确的预测)。 最终的目的是找到这样的模型参数,将成功地继续正确的输入→输出对映(预测) ,甚至为新的输入例子。
回归 Regression
在回归问题中,我们做真实值的预测。 基本上,我们尝试沿着训练样本绘制一条线 / 平面 / n 维平面( line/plane/n-dimensional plane)。
使用范例: 股票价格预测,销售分析,任何数字的相依等。
Math | Linear Regression-进一步阅读的理论及连结
Code | Linear Regression-实现范例
Demo | 单变数线性回归 Univariate Linear Regression-使用 economy GDP 来预测城市快乐指数
Demo | 多变数线性回归 Multivariate Linear Regression-使用 economy GDP 和 freedom index 来预测城市快乐指数
Demo | 非线性回归 Non-linear Regression-使用线性回归多项式及正弦曲线特征来预测非线性相关性
分类 Classification
在分类问题中,我们根据一定的特征分割输入范例。
使用范例: 垃圾邮件过滤器,语言侦测,寻找类似的文件,手写字母识别等。
逻辑回归 Logistic Regression
- Math | Logistic Regressio-进一步阅读的理论及连结
- Code | Logistic Regression-实现范例
- Demo | Logistic Regression (Linear Boundary)-根据 petal_length 和petal_width 预测虹膜花类
- Demo | Logistic Regression (Non-Linear Boundary)-基于param_1和param_2 预测微晶片有效性
- Demo | Multivariate Logistic Regression | MNIST-识别 28×28 像素影像的手写数字。
- Demo | Multivariate Logistic Regression | Fashion MNIST-识别28×28像素影像的衣服类型。
非监督式学习 Unsupervised Learning
非监督式学习是机器学习的一个分支,它从未被标记、分类或分类的测试资料中学习。 非监督式学习不是对反馈做出反应,而是根据每个新资料中是否存在这些共同特性来识别资料中的共同性,并根据这些共同性的存在或不存在做出反应。
聚类 Clustering
在聚类问题中,我们根据未知特征对训练样本进行分割。 由演算法本身决定用什么特征进行分割。
使用范例: 市场划分分析,社群网路分析,组织运算聚类,天文资料分析,影像压缩,等等。
K-means Algorithm
- Math | K-means Algorithm-进一步阅读的理论及连结
- Code | K-means Algorithm-实现的范例
- Demo | K-means Algorithm-根据 petal_length 和 petal_width 将虹膜花聚类
异常检测 Anomaly Detection
异常检测指的是识别那些引起怀疑的罕见物品、事件或观察异常检测,它们与大多数资料大相径庭。
使用范例: 入侵侦测、诈欺侦测、系统健康监控、从资料集中删除异常资料等。
利用高斯分布 ( Gaussian Distribution ) 进行异常检测
- Math | Anomaly Detection using Gaussian Distribution-进一步阅读的理论及连结
- Code | Anomaly Detection using Gaussian Distribution-实现的范例
- Demo | Anomaly Detection-寻找伺服器操作参数(如 latency 和 threshold)中的异常
神经网路 Neural Network (NN)
神经网路本身不是一个演算法,而是一个框架,将许多不同的机器学习演算法一起运作和处理复杂的资料输入。
使用范例: 作为所有其它演算法的一般替代,影像辨识,语音辨识,影像处理(应用特定风格) ,语言翻译等。
多层感知器 Multilayer Perceptron (MLP)
- Math | Multilayer Perceptron-进一步阅读的理论及连结
- Code | Multilayer Perceptron-实现范例
- Demo | Multilayer Perceptron | MNIST – 识别 28×28 像素影像的手写数字。
- Demo | Multilayer Perceptron | Fashion MNIST-识别28×28像素影像的衣服类型。
机器学习地图
这张机器学习地图的来源是这篇精彩的部落格文章
开始前的准备
确保在机器上安装了 Python。
您可能希望使用 venv 标准的 Python 程式库来建立虚拟环境,并从本地专案目录中安装和使用 Python、 pip 和所有相依套件服务,以避免搞乱系统范围的套件及其版本。
安装相依套件
通过执行以下命令安装专案所需的所有依赖套件:
pip install -r requirements.txt
在本地端启动 Jupyter
专案中的所有示范都可以直接在浏览器中执行,而不需要在本地安装 Jupyter。 但是如果你想在本地启动 Jupyter Notebook,你可以在专案的根资料夹中执行以下命令:
jupyter notebook
在这之后,你可以通过 http: / / localhost: 8888 访问 Jupyter Notebook。
远端启动 Jupyter
每个演算法部分包含到 Jupyter NBViewer 的示范连结。 这是一款快速的 Jupyter Notebooks 线上预览器,你可以直接在浏览器中看到示范的程式码、图表和资料,而不需要在本地安装任何东西。 如果你想改变程式码和展示的笔记本实验,你需要启动在 Binder 的笔记本。 你可以简单地点选 NBViewer 右上角的”Execute on Binder”连结。
资料集 Datasets
用于 Jupyter Notebook 演示的资料集列表可以在 data 资料夹中找到。
github 专案介绍 – Python 范例:透过互动式的 Jupyter 和数学解释流行的机器学习演算法的更多相关文章
- 介绍Python程序员常用的IDE和其它开发工具
概述 “工欲善其事,必先利其器”,如果说编程是程序员的手艺,那么IDE就是程序员的吃饭家伙了. IDE 的全称是Integration Development Environment(集成开发环境), ...
- error: failed to push some refs to 'https://github.com/username/python.git'
解决error: failed to push some refs to 'https://github.com/bluepen/python.git' 当我们在使用git工具上传我们自己的代码时,可 ...
- selenium2 python范例
selenium2 python范例 下面脚本的功能是:打开谷歌浏览器-->跳转到某个网址-->输入用户名和密码登录-->读取页面内的数据并求和. # coding=utf-8 #编 ...
- 中国爬虫违法违规案例汇总github项目介绍
中国爬虫违法违规案例汇总github项目介绍 GitHub - 本项目用来整理所有中国大陆爬虫开发者涉诉与违规相关的新闻.资料与法律法规.致力于帮助在中国大陆工作的爬虫行业从业者了解我国相关法律,避免 ...
- 介绍python由来, 安装python3.8.3 及其变量的定义, 小整数池
介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,Guido开始写能够解释Python语言语法的解释器.Python这个名字,来自Guido所挚爱 ...
- 机器学习经典算法详解及Python实现--基于SMO的SVM分类器
原文:http://blog.csdn.net/suipingsp/article/details/41645779 支持向量机基本上是最好的有监督学习算法,因其英文名为support vector ...
- Python之机器学习K-means算法实现
一.前言: 今天在宿舍弄了一个下午的代码,总算还好,把这个东西算是熟悉了,还不算是力竭,只算是知道了怎么回事.今天就给大家分享一下我的代码.代码可以运行,运行的Python环境是Python3.6以上 ...
- 机器学习经典算法具体解释及Python实现--线性回归(Linear Regression)算法
(一)认识回归 回归是统计学中最有力的工具之中的一个. 机器学习监督学习算法分为分类算法和回归算法两种,事实上就是依据类别标签分布类型为离散型.连续性而定义的. 顾名思义.分类算法用于离散型分布预測, ...
- 机器学习经典算法具体解释及Python实现--K近邻(KNN)算法
(一)KNN依旧是一种监督学习算法 KNN(K Nearest Neighbors,K近邻 )算法是机器学习全部算法中理论最简单.最好理解的.KNN是一种基于实例的学习,通过计算新数据与训练数据特征值 ...
随机推荐
- 1148 Werewolf - Simple Version (20 分)
Werewolf(狼人杀) is a game in which the players are partitioned into two parties: the werewolves and th ...
- 1、在linux服务器centos虚拟机搭建nginx网站
1.搭建linux虚拟机 具体参考 http://jingyan.baidu.com/article/86112f135e584a273697876b.html (如何在WIN7下进行LINUX虚拟机 ...
- flask综合案例
一.项目准备 1.新建项目目录students,并创建虚拟环境 mkvirtualenv students 2.安装依赖环境 pip install flask==0.12.4 pip install ...
- drf之视图
一.视图(视图函数) Django REST framwork 提供的视图的主要作用: 控制序列化器的执行(检验.保存.转换数据) 控制数据库查询的执行 1.请求与响应 1.request REST ...
- [转]创建节约内存的JavaBean
转自:创建节约内存的JavaBean 如果编写节约内存的java对象 编写Java代码的时候,大多数情况下,我们很少关注一个Java对象究竟有多大(占据多少内存),更多的是关注业务与逻辑.但是殊不知, ...
- 在Spark shell中基于Alluxio进行wordcount交互式分析
Spark是一个分布式内存计算框架,可部署在YARN或者MESOS管理的分布式系统中(Fully Distributed),也可以以Pseudo Distributed方式部署在单个机器上面,还可以以 ...
- Eclipse/Myeclipse/Scala IDEA for Eclipse里两种添加插件的方法(在线和离线)
不多说,直接上干货! 方法1:在线安装 第一步,在eclipse菜单栏下,选中help ---->Install New Software 第二步,点击图中 add 添加软件下载地址 第三步 , ...
- 牛客网Java刷题知识点之HashMap的实现原理、HashMap的存储结构、HashMap在JDK1.6、JDK1.7、JDK1.8之间的差异以及带来的性能影响
不多说,直接上干货! 福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号: 大数据躺过的坑 Java从入门到架构师 人工智能躺过的坑 ...
- 2、java内存间交互操作
关于主内存与工作内存之间具体的交互协议,即一个变量如何从主内存拷贝到工作内存,如何从工作内存同步回主内存之类的实现细节,java内存模型中定义了8种操作来完成,虚拟机实现时必须保证这8种操作都是原子的 ...
- vim源码编译启用python
坑:只指定with-python-config-dir没有指定enable-pythoninterp是没有用的 ./configure --enable-pythoninterp --with-pyt ...