当前位置: 首页 > 编程日记 > 正文

别再说学不会:超棒的Numpy可视化学习教程来了

640?wx_fmt=png


作者 | Jay Alammar

译者 | 苏南下

来源 | 机器会学ML(ID:AI_Learning007)


导读:学习 Python,尤其是基于 Python 的学习机器学习算法,最基础的 NumPy 用法必须得熟悉。网上这方面的教程不少,但大多千篇一律,枯燥罗列代码形式,而数组和矩阵本身有些抽象、难以理解的解读很少。


今天给各位介绍一个由国外大神制作的 NumPy 可视化教程,直观地介绍 NumPy 的各种用法,很容易就能理解。话不多说,一睹为快。


数组


先来介绍最基础的一维数组。


  • 创建数组


1、np.array() 直接创建


640?wx_fmt=png


2、使用 np.ones()、np.zeros() 等方法


640?wx_fmt=png


我们在写数组的时候是横着写的,而其实数组是列向量,这样很直观。


  • 数组运算


1、加减乘除


640?wx_fmt=png


640?wx_fmt=png


640?wx_fmt=png


2、数组乘以数值


640?wx_fmt=png


  • 数组索引


640?wx_fmt=png


  • 数组聚合


640?wx_fmt=png


上面是一维数组,下面介绍二维维数组也就是矩阵的使用技巧。


矩阵


  • 创建矩阵


1、直接创建

640?wx_fmt=png


2、使用 np.ones()、np.zeros() 等方法


640?wx_fmt=png


这样就很容易理解括号里 (3,2) 的含义。


  • 矩阵运算


640?wx_fmt=png


640?wx_fmt=png


  • 矩阵点积


矩阵点积跟线性代数基本一样,有些抽象,借助示意图能很好理解:


640?wx_fmt=png


进一步拆分解释:


640?wx_fmt=png


  • 矩阵索引


640?wx_fmt=png


  • 矩阵聚合


1、求最值


640?wx_fmt=png


2、按行 / 列聚合


640?wx_fmt=png


  • 矩阵转置


640?wx_fmt=png


  • 矩阵重塑


1、reshape() 用法


640?wx_fmt=png


高维数组


Numpy 不仅可以处理上述的一维数组和二维矩阵,还可以处理任意 N 维的数组,方法也大同小异。


  • 创建多维数组

640?wx_fmt=png


640?wx_fmt=png


掌握了以上基础后,我们可以做个小练习,计算均方误差 MSE:


640?wx_fmt=png


可以看到有减法、平方、求和等运算:


640?wx_fmt=png


分别假设相应的预测值和真实值:


640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png


希望通过上面直观的描绘,让大家在 Numpy 时可以更轻松,理解也能更深一层!


原文地址:

https://jalammar.github.io/visual-numpy/


(*本文为 AI科技大本营转载文章,转载请联系原作者)


精彩推荐



640?wx_fmt=jpeg


60+技术大咖与你相约 2019 AI ProCon!大会早鸟票已售罄,优惠票速抢进行中......2019 AI开发者大会将于9月6日-7日在北京举行,这一届AI开发者大会有哪些亮点?一线公司的大牛们都在关注什么?AI行业的风向是什么?2019 AI开发者大会,倾听大牛分享,聚焦技术实践,和万千开发者共成长。


推荐阅读

  • 效果惊人!中科院、百度研究院等联合提出UGAN,生成图片难以溯源

  • 认知智能的突围:NLP、知识图谱是AI下一个“掘金地”

  • 你想见的大神都来AI ProCon 2019了,优惠票限时抢购开启

  • Python之父新发文,将替换现有解析器

  • 华为否认鸿蒙为噱头;谷歌公布 6 大 iOS 漏洞;极客头条

  • 三次创业,三次跨界,这次凭十万行核心C代码登上 GitHub Top 1!

  • 64%的投资者对比特币不感兴趣,那是谁投资了比特币?


640?wx_fmt=png你点的每个“在看”,我都认真当成了喜欢

相关文章:

设计模式之备忘录模式(Memento)摘录

23种GOF设计模式一般分为三大类:创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给…

型网站的架构设计问题----大型高并发高负载网站的系统架构

随着中国大型IT企业信息化速度的加快,大部分应用的数据量和访问量都急剧增加,大型企业网站正面临性能和高数据访问量的压力,而且对存储、安全以及信息检索等等方面都提出了更高的要求…… 本文中,我想通过几个国外大型IT企业及网站…

java之php、Android、JAVA、C# 3DES加密解密

异常如下1.javax.crypto.BadPaddingException: Given final block not properly padded1)要确认下是否加密和解密都是使用相同的填充算法(也就是说,是否都是使用PKCS5Padding)2)确认下你要解密的字节数组是否正确。jav…

设计模式之中介者模式(Mediator)摘录

23种GOF设计模式一般分为三大类:创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给…

谷歌引入自动网络设计,高效解决大规模深度推荐模型的特征嵌入问题

来源 | 深度传送门(ID:gh_5faae7b50fc5)导读:本文主要介绍Google在大规模深度推荐模型上关于特征嵌入的最新论文。 一、背景大部分的深度学习模型主要包含如下的两大模块:输入模块以及表示学习模块。自从NAS[1]的出现以来&#xf…

什么是POM maven

POM是项目对象模型(Project Object Model)的缩写,下面援引一下百度百科中对于POM的解释 定义 Maven是以项目为中心的设计。POM是Maven对一个单一项目的描述。没有POM的话,Maven是毫无用处的——POM是Maven的核心。是POM实现的并驱动了这种以模型来描述的…

新的Mac下如何配置开发者账号信息

1:把p12文件下载来,打开,添加到钥匙串 2:在xcode中的Organizer中的 Provisioning Profiles项中,点击 “New”, 添加账号信息,从网络获取相关文件。 转载于:https://www.cnblogs.com/willbin/arc…

5G+AI重新定义生老病死?

作者 | 胡巍巍来源 | CSDN(ID:CSDNnews)5G时代,我们的生老病死,或将被重新定义。5G手术,让生命不再受制于距离海南的神经外科专家凌至培,使用5G技术,跨越南北为一位北京的患者&#…

设计模式之命令模式(Command)摘录

23种GOF设计模式一般分为三大类:创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给…

QTP的那些事---页面弹出框的处理,页面等待加载的处理

处理方法:先判断父类对象是否存在,如果存在,判断相关的static文本对象是否存在,如果存在,则点击弹出框中的按钮即可; 例如如下的代码: 设置循环判断dialog对象是否存在,如果存在&…

如何衡量一个项目的交付质量???

昨天与部门开会讨论项目的完整规范交付流程,参会的涉及到项目相关的所有人员,总结一下供大家讨论交流: 1、小插曲:我们把客户的干系人、自己的干系人对项目的影响做了一个排名并打分,结果很有意思:客户的领…

华人“霸榜”ACL最佳长短论文、杰出论文一作,华为、南理工等获奖

作者 | 夕颜、一一出品 | AI科技大本营(ID:rgznai100)导读:7 月 31 日晚,自然语言处理领域最大顶会 ACL 2019 在佛罗伦萨进行到了第四天(7 月 29 日-8 月 1 日),当天,组委会最终从提…

设计模式之访问者模式(Visitor)摘录

23种GOF设计模式一般分为三大类:创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给…

关闭Windows 8的metro UI的方法汇总

http://www.ssdax.com/570.html 上面就是windows8新出现的Metro UI,点击开始菜单就会出现,取代了windows长久以来的开始菜单,有了非常大的突破 不过我发现很多人都在找怎么关闭windows8 的Metro UI,下面介绍两个如何关闭Metro的方…

coredata Lightweight Migration 心得

关于coredata 网上的相关资料比较少,大部分是基本用法。于是便找到苹果官方文档进行深入学习。 分享一下心得,如果用了coredata 必须懂得 coredata Migration,否则app版本更新 core data model schema 变化很大可能导致持久化coredata 出错&a…

设计模式之职责链模式(Chain of Responsibility)摘录

23种GOF设计模式一般分为三大类:创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给…

澎思科技与新加坡国立大学等高校共研AI产品加快技术应用落地

2019年7月31日,中国人工智能企业澎思科技宣布新加坡研究院正式揭牌成立,并宣布成立澎思技术委员会,推动全球视野下的人工智能技术研究。同时,澎思科技与新加坡国立大学、新加坡南洋理工学院等重量级机构签订战略合作。未来&#x…

codility上的问题 (22)

问题描述: 用1 * 1, 1 * 2的矩形覆盖一个n行m列的矩形,问有多少种方法。 数据范围 : n [1..10^6], m [ 1..7] 要求复杂度: 时间 O(log(n) * 8 ^m)) 空间 O(4^m) 分析:这个题跟之前那个木块砌墙问题一样…… 稍作修…

session 与 cookie的区别

session和cookie是网站浏览中较为常见的两个概念,也是比较难以辨析的两个概念,但它们在点击流及基于用户浏览行为的网站分析中却相当关键。基于网上一些文章和资料的参阅,及作者个人的应用体会,对这两个概念做一个简单的阐述和辨析…

设计模式之迭代器模式(Iterator)摘录

23种GOF设计模式一般分为三大类:创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给…

澎思科技成立新加坡研究院,将与多家机构合作研发自动驾驶等项目

2019 年 7 月 31 日,中国人工智能企业澎思科技宣布新加坡研究院正式揭牌成立,并成立澎思技术委员会,由来自新加坡国立大学、新加坡南洋理工学院等四名 AI 专家/教授担任澎思技术委员会首批委员。此外,澎思科技还与新加坡国立大学、…

对象----《你不知道的JS》

最近在拜读《你不知道的js》,而此篇是对于《你不知道的js》中对象部分的笔记整理,希望能有效的梳理,并且深入理解对象 一、语法 对象两种定义形式:声明(文字)形式、构造形式 声明(文字)形式 var…

Android:FragmentTransaction

为什么80%的码农都做不了架构师?>>> FragmentTransaction FragmentManager:能够实现管理activity中fragment. 通过调用activity的getFragmentManager()取得它的实例.。 FragmentTransaction:对fragment进行添加,移除,替换,以及执…

设计模式之解释器模式(Interpreter)摘录

23种GOF设计模式一般分为三大类:创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给…

自动驾驶激荡风云录:来自圈内人的冷眼解读

作者 | 黄浴,奇点汽车美研中心总裁兼自动驾驶首席科学家编辑 | 夕颜出品 | AI科技大本营(ID:rgznai100)最近一个月,有关自动驾驶的新闻层出不穷,也是少有的热闹。先说正面的吧。激情的焰火 ▌传感器之争2019 年 7 月&a…

激动人心的AutoCAD .net开发技术

自从了解了vsto和sc(SmartClient)技术后,对以前Win32的二次开发技术,再也没有一点兴趣。对Office VBA, AutoCAD lisp, VBA, PowerBuilder PoserScript, MapInfo MapBasic 的开发,简直室深恶痛绝,希望一切…

Linux Shell简介

目录 版权信息前言第一篇:超级工具/Terminals,xterms 和 Shells 一、超级工具二、为了说明 shell ,这里需要一些背景知识。 1、Terminals, xterms 与 Shells2、终端(Terminals)3、xterms4、Shells 三、Shel…

浙大博士130页论文,教你用人工智能挑西瓜

作者 | 神经小姐姐来源 | HyperAI超神经(ID:HyperAI)【导读】要问什么水果和夏天最搭,答案一定是西瓜。作为西瓜生产与消费大国,中国在 2018 年以全世界 20% 的人口消耗掉全世界 70% 的西瓜,人均 100 斤。如…

一些要注意的地方

1、tomcat启动一直保持在starting状态时,最简单的原因就是时间过短,将时间变长就可以了。若还不能解决时,还可能就是端口号被占用了。通过netstat -nao | findstr ""可以看到占用你所使用的端口号的进程id,然后通过tasklist | find…

NEON在Android中的使用举例

1、 打开Eclipse,File-->New-->AndroidApplication Project-->Application Name:Hello-Neon, Project Name: Hello-Neon,Package Name:com.hello_neon.android, Minimum Required SDK:API 9:Android 2.3(Gingerbread),Next-->去掉Create custom launch…