別再說學不會:超棒的Numpy可視化學習教程來了!

2021-03-02 Python大本營

作者 | Jay Alammar

譯者 | 蘇南下

來源 | 機器會學ML(ID:AI_Learning007)

學習 Python,尤其是基於 Python 的學習機器學習算法,最基礎的 NumPy 用法必須得熟悉。網上這方面的教程不少,但大多千篇一律,枯燥羅列代碼形式,而數組和矩陣本身有些抽象、難以理解的解讀很少。

今天給各位介紹一個由國外大神製作的 NumPy 可視化教程,直觀地介紹 NumPy 的各種用法,很容易就能理解。話不多說,一睹為快。

數組

先來介紹最基礎的一維數組。


1、np.array() 直接創建

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

我們在寫數組的時候是橫著寫的,而其實數組是列向量,這樣很直觀。


1、加減乘除

2、數組乘以數值

上面是一維數組,下面介紹二維維數組也就是矩陣的使用技巧。


矩陣

1、直接創建

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

這樣就很容易理解括號裡 (3,2) 的含義。


矩陣點積跟線性代數基本一樣,有些抽象,藉助示意圖能很好理解:

進一步拆分解釋:

1、求最值

2、按行 / 列聚合

1、reshape() 用法

高維數組

Numpy 不僅可以處理上述的一維數組和二維矩陣,還可以處理任意 N 維的數組,方法也大同小異。

掌握了以上基礎後,我們可以做個小練習,計算均方誤差 MSE:

可以看到有減法、平方、求和等運算:

分別假設相應的預測值和真實值:

希望通過上面直觀的描繪,讓大家在 Numpy 時可以更輕鬆,理解也能更深一層!

原文地址:

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

(*本文僅代表作者觀點,轉載請聯繫原作者)

AutoML看起來很美好,卻也挑戰重重。開發者對 AutoML 也是既好奇也疑惑,所以只要你是 AI 領域的學習者,從業者,甚至感興趣程式設計師會不會被 AI 替代這件事,都可以報名學習。你可以在這裡從0認識,再次重新認識機器學習新興且重要的技術領域——AutoML。

推薦閱讀:

相關焦點

  • 如何系統地學習Python 中 matplotlib, numpy, scipy, pandas?
    Matplotlib,Numpy,SciPy 和 Pandas 這幾個庫在我們使用 Python 從事數據科學工作時都不可或缺,不過它們的用途並不相同:Numpy:為大型多維數組和矩陣添加 Python 支持,並提供高級的數學函數來運算這些數組
  • 邊看圖,變學習,NumPy可視化初學教程
    除花式索引外,以上介紹的所有索引方法實際上都是所謂的"視圖":如果索引的值做操作發生更改,則它們不會影響原始數組中存儲的數據。所有這些方法,包括花式索引,都是可變的:如上所述,它們允許通過分配修改原始數組的內容。
  • 數據系列教程之numpy( 三)
    數據分析系列教程之numpy( 一)數據分析系列教程之numpy(二)上周講了數據分析入門的前兩節,numpy
  • NumPy初學教程,可視化指南
    除花式索引外,以上介紹的所有索引方法實際上都是所謂的"視圖":如果索引的值做操作發生更改,則它們不會影響原始數組中存儲的數據。名稱np.around只是np.round為了避免round和Python函數幹擾,而引入的別名from numpy import *(對比常見的import numpy as np)。也可以使用a.round()。
  • Numpy入門詳細教程
    numpy入門詳細教程python數據科學基礎庫主要是三劍客:numpy,pandas以及matplotlib,每個庫都集成了大量的方法接口,配合使用功能強大。平時雖然一直在用,也看過很多教程,但紙上得來終覺淺,還是需要自己系統梳理總結才能印象深刻。本篇先從numpy開始,對numpy常用的方法進行思維導圖式梳理,多數方法僅拉單列表,部分接口輔以解釋說明及代碼案例。最後分享了個人關於axis和廣播機制的理解。
  • 家庭版豆湯飯製作方法來了,這麼簡單別再說學不會!
    相信來過成都的朋友就算沒有吃過也有聽說過。其實說起來就是湯飯,因為湯底鮮美,清淡營養,味道好所以受到了大眾的喜愛。小編有外地朋友來成都玩,他們總會問:成都有什麼不辣的美食嗎?而我也總會給推薦這道豆湯飯。家庭版豆湯飯製作方法來了,這麼簡單別再說學不會!豆湯飯的做法其實非常的簡單,嚴格來說其實並沒有什麼技術含量,但是味道真的很鮮美。
  • 「 Python數據可視化系列」4. 科學Python生態和Numpy
    Python 3和數據可視化庫leather創建簡單的可視化。你也知道,使用數據可視化庫leather只能實現初級的可視化。對於更複雜、更精細的可視化,我們需要使用具有高級數據處理和可視化功能的庫。本章探討科學Python生態系統及其組件,還提供了NumPy庫的概述和一些代碼演示。
  • 最全的NumPy教程
    所以快來使用它,享受你的學習吧。標準的 Python 發行版不會與 NumPy 模塊捆綁在一起。一個輕量級的替代方法是使用流行的 Python 包安裝程序 pip 來安裝 NumPy。pip install numpy啟用 NumPy 的最佳方法是使用特定於您的作業系統的可安裝的二進位包。
  • 資源|用Python和NumPy學習《深度學習》中的線性代數基礎
    本文系巴黎高等師範學院在讀博士 Hadrien Jean 的一篇基礎學習博客,其目的是幫助初學者/高級初學者基於深度學習和機器學習來掌握線性代數的概念。掌握這些技能可以提高你理解和應用各種數據科學算法的能力。
  • python:numpy入門詳細教程
    平時雖然一直在用,也看過很多教程,但紙上得來終覺淺,還是需要自己系統梳理總結才能印象深刻。本篇先從numpy開始,對numpy常用的方法進行思維導圖式梳理,多數方法僅拉單列表,部分接口輔以解釋說明及代碼案例。最後分享了個人關於axis和廣播機制的理解。
  • 清晰易懂的Numpy進階教程
    推薦閱讀:清晰易懂的Numpy入門教程Numpy是數據分析和科學計算的核心包,上文詳細介紹了Numpy的入門教程,本文將詳細介紹Numpy的高級特性,這些特性對於數據分析和處理非常重要。來源:Machine Learning Plus翻譯:石頭目錄1. 如何獲取滿足條設定件的索引2.
  • Python Numpy學習教程(一)Python篇
    通知:這篇文章主要簡單介紹Python的基本數據結構、容器、列表、字典、集合、元組、函數和類等知識點Python Numpy學習教程
  • Python數據分析基礎之NumPy學習 (上)
    基本可視化之 Matplotlib統計可視化之 Seaborn交互可視化之 Bokeh炫酷可視化之 PyEcharts機器學習之 Sklearn深度學習之 TensorFlow深度學習之 Keras深度學習之 PyTorch深度學習之 MXnetNumpy
  • 【Python教程】用Python進行數據可視化
    面向人群: 零基礎或者初學者難度: 簡單, 屬於Python基礎課程對於那些學習編程的人來說,Python
  • Python之numpy數組學習(一)
    Python中的科學計算庫,今天主要學習下numpy數組。好處是:數組元素類型相同,可輕鬆確定存儲數組所需的空間大小。同時,numpy可運用向量化運算來處理整個數組。Numpy數組的索引從0開始。(這裡我使用的是ipython命令行,ipython最近剛開始用,以後詳細介紹下。)
  • AI學習準備工作以及numpy學習
    使用《利用python進行數據分析》(第二版)進行學習,僅需要學習資料的小夥伴可直接跳轉至文章最下方。
  • 手把手的Numpy教程【一】
    噹噹當,我又開新坑了,這次的專題是Python機器學習中一個非常重要的工具包,也就是大名鼎鼎的numpy。所以今天的文章是Numpy專題的第一篇。俗話說得好,機器學習要想玩的溜,你可以不會寫Python,但一定不能不會調庫(大霧)。
  • python數據科學系列:numpy入門詳細教程
    平時雖然一直在用,也看過很多教程,但紙上得來終覺淺,還是需要自己系統梳理總結才能印象深刻。本篇先從numpy開始,對numpy常用的方法進行思維導圖式梳理,多數方法僅拉單列表,部分接口輔以解釋說明及代碼案例。最後分享了個人關於axis和廣播機制的理解。
  • 大數據分析Python NumPy庫使用教程
    大數據分析Python NumPy庫使用教程為數據工程師提供有關NumPy的從零開始的培訓。這意味著您不需要具有NumPy的任何經驗,也不會浪費任何時間學習與數據工程工作無關的東西。 在瀏覽了基礎知識之後,您將快速開始使用NumPy來構建和操作二維和三維數組。
  • 收藏 | 深度學習之Numpy基礎入門教程!
    0 概述Numpy (Numerical Python)提供了兩種基本對象:Numpy 的主要特點:1.1 生成Numpy數組import numpy as np如何查看函數的幫助指令np.add<class 'numpy.ndarray'>(2)嵌套列表可轉換為多維ndarrayimport numpy as np1st2 = [[1.1, 2.2, 3, 4, 5, 6.6], [1,2,3,4]]nd2 = np.array(1st2)print(nd2)# [[1.1, 2.2, 3, 4, 5,