numpy 创建加一行_NumPy数据处理的可视化
NumPy庫是Python庫中用于數據分析,機器學習,科學計算的一個主力,它極大地簡化了向量和矩陣的操作和處理。Python的一些主要軟件包依賴于NumPy作為其架構的基礎部分,比如scikit-learn, SciPy, pandas以及 tensorflow。
在這篇文章中,我們將介紹一些使用NumPy的主要方法,以及在我們為機器學習模型提供服務之前它如何表示不同類型的數據(表格,圖像,文本等)。
import numpy as np1.創建數組
我們可以通過將Python列表傳遞給它并使用np.array()來創建一個NumPy數組(也就是強大的ndarray)。在這種情況下,Python創建了我們在右邊可以看到的數組:
很多情況下,我們希望NumPy為我們初始化數組的值。NumPy為這些情況提供了諸如ones(),zeros()和random.random()之類的方法。我們只需要傳遞它們要生成的元素數量:
待我們創建了數組,我們便可以開始以有趣的方式操作它們。
2.數組算術
讓我們創建兩個NumPy數組來展示它們的用處。我們把兩個數組分別叫作data,ones:
使他們每行對應元素相加,只需data + ones:
當開始學習這些工具時,我們會發現這樣的抽象讓我們不必在循環中編寫這樣的計算。這是一個很棒的抽象,可以讓你在更高層次上思考問題。
其他運算方式的補充:
通常情況下,我們希望在數組和單個數字之間執行操作(我們也可以將其稱為向量和標量之間的操作)。比如說,我們的數組表示以英里為單位的距離,我們希望將其轉換為公里數。我們簡單地說data * 1.6:
NumPy中這種操作意味著每個元素都會發生相乘,這個概念叫做廣播,它非常有用。
3.索引
我們可以通過Python列表切片的所有方式對NumPy數組進行索引和切片:
4.聚合
NumPy為我們提供的其他好處是聚合功能:
除了 min,max,sum,還有許多類似的功能,比如求平均值的mean,獲得所有元素乘積的prod,獲得標準差的std,還有其他。
更多功能
以上我們看到的所有例子都在一個維度上處理向量。NumPy的優勢的一個關鍵部分是它能夠將我們目前所看到的所有內容應用到任意數量的維度。
5.創建矩陣
我們可以傳遞以下形狀的Python列表列表,讓NumPy創建一個矩陣來表示它們:
np.array([[1,2],[3,4]])我們也可以使用上面提到的相同方法(ones(),zeros()和random.random()),只要我們給它們一個元組來描述我們正在創建的矩陣的維度:
6.矩陣算術
+-*/如果兩個矩陣的大小相同,我們可以使用算術運算符()來添加和乘以矩陣。NumPy將這些作為位置操作處理:
只有當不同維度為1時(例如矩陣只有一列或一行),我們才能在不同大小的矩陣上進行這些算術運算,在這種情況下,NumPy將其廣播規則用于該操作:
7.點積
與算術相關的一個關鍵區別是使用點積的矩陣乘法。NumPy為每個矩陣提供了一種dot()方法,可用于與其他矩陣進行點積運算:
圖的底部添加了矩陣尺寸,以強調兩個矩陣在它們彼此面對的一側必須具有相同的尺寸(矩陣乘法必須的特征)。您可以將此操作可視化為如下所示:
8.矩陣索引
當我們操作矩陣時,索引和切片操作變得更加有用:
9.矩陣聚合
我們可以像聚合向量一樣聚合矩陣:
我們不僅可以聚合矩陣中的所有值,還可以使用以下axis參數在行或列之間進行聚合:
10.轉置和重塑
處理矩陣時的一個共同需求是需要旋轉矩陣。當我們需要采用兩個矩陣的點積并??需要對齊它們共享的維度時,通常就是這種情況。NumPy數組有一個方便的屬性,T用于獲取矩陣的轉置:
在更高級的用例中,您可能會發現自己需要切換某個矩陣的維度。在機器學習應用程序中通常就是這種情況,其中某個模型期望輸入的某個形狀與您的數據集不同。NumPy的reshape()方法在這些情況下很有用。您只需將矩陣所需的新尺寸傳遞給它即可。您可以為維度傳遞-1,NumPy可以根據您的矩陣推斷出正確的維度:
11.更多維度
NumPy可以完成我們在任何維度上提到的所有內容。其中心數據結構稱為ndarray(N維數組),原因很簡單。
在很多方面,處理新維度只是在NumPy函數的參數中添加逗號:
12.實用場景
公式
實現適用于矩陣和向量的數學公式是考慮NumPy的關鍵用例。這就是為什么NumPy是Python科學計算社區的寵兒。例如,考慮均方誤差公式,它是監督機器學習模型處理回歸問題的核心:
在NumPy中實現這一點是輕而易舉的:
這樣做的好處是,numpy能妥善應對,即便predictions與labels含有一個或一千值(只要他們都是相同的大小)。我們可以通過一個示例逐步執行該代碼行中的四個操作:
預測值和標簽向量都包含三個值。這意味著n的值為3。在我們執行減法后,我們最終得到如下值:
然后我們可以對矢量中的值進行平方:
現在我們總結這些值:
這就是預測誤差值與模型評價得分。
參考文章:https://jalammar.github.io/visual-numpy/
總結
以上是生活随笔為你收集整理的numpy 创建加一行_NumPy数据处理的可视化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: antd table设置表格一个单元格的
- 下一篇: hyperf自定义注解类_swoole学