矩陣基本運算的 Python 實現


from...import與import區別在於import直接導入指定的庫,而from....import則是從指定的庫中導入指定的模塊

import...as則是將import A as B,給予A庫一個B的別稱,幫助記憶

在機器學習中,對象是指含有一組特征的行向量。這個領域最出色的技術就是使用圖形處理器的 GPU 運算,矢量化編程的一個重要特點就是可以直接將數學公式轉換為相應的程序代碼,維度是指在一定的前提下描述一個數學對象所需的參數個數,完整表述應為“對象X基於前提A是n維”。

scatter(x,y)和plot(x,y,'*')的效果一致就是根據x和y坐標繪制出所有點而已,

而plot默認是將所有點按一定的順序連接成一條多段線當plot指定了線性時,就可以繪制不同的圖像,比如plot(x,y,'*')

 

下面是一段測試程序:

# -*- coding: utf-8 -*-
# Filename : mytest1.py
import numpy as np # 導入 numpy庫
from numpy import * # 導入 numpy庫
import matplotlib.pyplot as plt # 導入 matplotlib 庫
# 測試數據集-二維 list
dataSet = [[-0.017612,14.053064],[-1.395634 ,4.662541],[-0.752157
,6.538620],[-1.322371  ,7.152853],[0.423363  ,11.054677],[0.406704
,7.067335],[0.667394  ,12.741452], [-2.460150 ,6.866805],[0.569411
,9.548755],[-0.026632  ,10.427743],[0.850433  ,6.920334],[1.347183
,13.175500],[1.176813  ,3.167020],[-1.781871  ,9.097953]]
dataMat = mat(dataSet).T # 將數據集轉換為 numpy矩陣,並轉置
plt.scatter(dataMat[0],dataMat[1],c='red',marker='o') # 繪制數據集散點圖
# 繪制直線圖形
X = np.linspace(-2,2,100) # 產生直線數據集
# 建立線性方程
Y = 2.8*X+9
plt.plot(X,Y) # 繪制直線圖
plt.show() # 顯示繪制后的結果

 

輸出結果如下:

理解數學公式與 Numpy

import numpy as np
myZero = np.zeros([3,5])
print myZero
print '\n'
myOnes = np.ones([3,5])
print myOnes
print '\n'
myRand = np.random.rand(3,4)
print myRand
print '\n'
myEye = eye(3)
print myEye

 

輸出結果:

[[ 0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.]]


[[ 1.  1.  1.  1.  1.]
 [ 1.  1.  1.  1.  1.]
 [ 1.  1.  1.  1.  1.]]


[[ 0.08391638  0.45111372  0.13425541  0.4058907 ]
 [ 0.4899189   0.09429184  0.49567921  0.05946378]
 [ 0.9062396   0.34326417  0.43128689  0.73593377]]


[[ 1.  0.  0.]
 [ 0.  1.  0.]
 [ 0.  0.  1.]]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM