19mis1112 Lab1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Name:Fedrick Samuel W

Reg No:19MIS1112
Course: Machine learning (SWE4012)
Slot: L11 + L12
Faculty: Dr.M. Premalatha

Importing package
import numpy as np

np is an object for numpy package. If you don't want, class itself can be used as such. For
eg., you can use, numpy.array()

Creating Arrays
arr1 = np.array([5,10,11,1,4,16])
print("1D array: ", arr1)
arr2 = np.array([[19,54,67],[44,57,61],[76,85,99]])
print("2D array 3*3: ", "\n",arr2)

1D array: [ 5 10 11 1 4 16]
2D array 3*3:
[[19 54 67]
[44 57 61]
[76 85 99]]

Understanding attributes of arrays


print("About arr2:")
print("Type\t\t:" ,type(arr2))
print("Datatype\t:",arr2.dtype)
print("Shape\t\t:", arr2.shape)
print("Size\t\t:",arr2.size)
print("itemsize\t:",arr2.itemsize)
print("No. of dim\t:",arr2.ndim)
print("No. of bytes\t:", arr2.nbytes)

About arr2:
Type : <class 'numpy.ndarray'>
Datatype : int32
Shape : (3, 3)
Size : 9
itemsize : 4
No. of dim : 2
No. of bytes : 36

Creating Special arrays


arr3 = np.zeros((7,8), dtype=int)
arr4 = np.ones((4,9),dtype=float)
arr5 = np.eye(23,3)
arr6 = np.random.rand(31,22)
arr7 = np.random.randint(7,size=(21,66))
print("Zero Array \t:\n",arr3)
print("Arrays with unit values\t:\n",arr4)
print("Identity matrix\t:\n",arr5)
print("Random array\t\n",arr6)
print("Random integer array\t:\n" , arr7)

Zero Array :
[[0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0]]
Arrays with unit values :
[[1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1. 1.]]
Identity matrix :
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
Random array
[[8.03122779e-01 4.09765999e-03 9.96265151e-01 9.73600776e-01
6.97485279e-01 4.80826162e-01 2.96161801e-02 8.80893110e-01
8.82108428e-01 9.84029989e-01 8.69912074e-01 3.61609748e-01
3.26288038e-01 9.10521431e-01 4.95400904e-01 1.42626491e-01
6.15536081e-01 7.81276429e-02 9.37095893e-01 4.52079804e-01
5.07602749e-01 3.51416900e-01]
[7.08828599e-01 4.71212267e-01 2.24726128e-01 1.76465358e-01
1.94733885e-01 1.73400381e-01 7.79952878e-01 9.31583378e-01
4.92838587e-01 3.88284326e-01 3.79444089e-01 8.32905586e-01
4.79645701e-01 1.18362153e-01 9.47475933e-01 5.86095911e-04
7.89554950e-03 4.51296312e-01 9.31028365e-01 6.74962545e-01
2.33289800e-02 8.13204846e-01]
[5.47316880e-01 7.32007512e-02 4.87224957e-01 7.30475375e-01
8.89075074e-01 7.48058177e-01 1.54261552e-01 2.70890435e-01
8.25693746e-01 2.96095728e-01 9.94679004e-01 4.17715174e-04
4.98378935e-01 7.98680792e-01 5.10403698e-01 7.47139798e-01
1.79832606e-01 2.17616846e-01 4.27258385e-01 1.03852050e-01
8.29382087e-01 8.46371645e-01]
[7.95324550e-01 9.06921713e-01 4.34601581e-01 5.35824283e-01
6.90594095e-01 6.16081936e-01 5.24196967e-01 1.20439799e-01
3.11767798e-01 9.78621107e-01 7.56937571e-01 8.71613410e-01
4.87705804e-01 9.71208454e-02 4.63473191e-01 3.18491523e-01
5.73420330e-01 7.52150367e-01 8.05802879e-02 5.10919380e-01
2.67152550e-01 1.85972875e-01]
[6.95847462e-01 3.72073030e-01 7.67745721e-01 3.71087150e-01
5.37712609e-01 6.77245930e-01 5.47926942e-01 7.56394685e-01
2.68106524e-02 8.13821052e-01 7.59236140e-01 9.11360998e-01
3.46010167e-01 6.94376061e-01 9.64985671e-01 1.46001952e-01
7.97148630e-01 1.11555630e-01 6.68127555e-01 6.41706789e-01
4.68309587e-01 1.64951710e-01]
[1.61824974e-01 8.68884417e-01 2.29612733e-01 8.69077182e-03
1.14509201e-01 4.94840237e-01 4.65797751e-02 8.58420948e-01
9.07888516e-01 3.09012362e-01 5.72667630e-01 9.82133682e-01
4.04312234e-01 1.98547827e-01 9.92136348e-01 7.73512336e-01
3.27471150e-01 1.24071439e-01 3.74016304e-01 4.97957294e-01
6.30862575e-01 1.70036428e-01]
[9.30332324e-01 3.50673909e-01 3.24843062e-01 4.36990369e-01
9.29956476e-01 1.35411996e-01 1.40232012e-01 1.75939968e-01
7.01468812e-01 1.83878677e-01 2.17013291e-01 4.54765343e-01
2.31832071e-01 9.86409431e-01 8.58382622e-01 6.53831591e-01
1.92145724e-01 9.51536549e-01 9.21838791e-01 2.74606352e-01
6.23858713e-01 1.83346571e-01]
[7.16642186e-01 9.65538872e-01 2.66996545e-01 7.48548412e-01
4.26937016e-02 7.24741686e-01 5.74319740e-01 9.39431870e-01
1.68224921e-01 9.59318658e-01 4.65985129e-01 1.89659614e-02
7.67678645e-01 2.53926541e-01 4.03050930e-01 3.23767832e-01
4.97803567e-01 6.91821738e-01 1.68604287e-01 3.84586659e-01
1.23528645e-01 9.76179459e-01]
[7.76909994e-01 4.86149653e-01 3.14726003e-01 6.63177124e-01
5.17794158e-01 6.70243194e-01 2.49801168e-01 1.24511586e-01
6.94445054e-01 4.86342229e-01 8.07428284e-01 8.96806847e-01
7.30728512e-02 3.02416064e-01 8.98725080e-01 2.66483880e-01
9.09967103e-01 7.99192372e-01 6.66703718e-01 7.90273663e-01
2.45947719e-01 4.58241705e-01]
[3.08708210e-01 7.55202263e-01 8.28786428e-01 9.25855908e-01
4.75491861e-01 4.51879028e-01 8.95824962e-01 1.91965632e-01
1.47603154e-01 8.31719259e-01 8.37825550e-01 1.50771048e-01
7.24308899e-01 9.08964658e-01 9.42180719e-01 6.32690642e-01
9.44945748e-01 3.56694338e-01 8.37617232e-01 9.70922096e-01
7.75356781e-01 6.49722980e-01]
[3.40993952e-01 6.87968951e-01 8.51114138e-01 4.61369427e-01
5.98211457e-01 9.10699500e-01 5.97335216e-01 1.20761750e-01
5.08383993e-01 5.98650248e-01 3.63817592e-01 6.47727394e-01
1.26464551e-01 7.05453397e-01 2.76901150e-01 2.27166669e-01
5.70597673e-01 7.18842448e-01 1.08911250e-01 5.73369153e-01
8.19951689e-01 5.11847916e-01]
[2.30320561e-01 8.22607868e-01 1.26306450e-01 1.53778277e-01
4.73265762e-01 3.29951517e-01 1.33287181e-01 4.02813025e-01
4.27777193e-01 9.09905676e-02 2.24587621e-01 5.01228202e-01
6.82304050e-01 6.37490337e-01 6.96215563e-01 8.08630540e-01
9.18324730e-01 2.13934093e-01 6.44825966e-01 4.51654961e-01
5.42466177e-01 3.31458709e-01]
[9.03853568e-01 7.40942744e-01 9.79877982e-01 8.13679206e-01
7.86602218e-01 7.88438202e-01 6.40933614e-02 1.71146046e-01
3.30314130e-01 5.52325213e-01 1.61465473e-01 9.35679167e-01
1.75751579e-01 2.29145651e-01 5.31771298e-01 8.05453928e-01
7.60466584e-01 7.18876005e-01 5.35592868e-01 2.02022639e-01
1.25588434e-01 9.39338523e-01]
[6.18878279e-01 9.75994343e-01 9.59680877e-01 9.75010474e-01
5.65835049e-01 5.43658213e-01 7.96698656e-01 1.69690607e-01
1.35111330e-02 4.40536988e-01 5.03735936e-01 8.95525000e-01
9.01868082e-02 4.30744494e-01 1.66086592e-01 9.39281564e-01
8.53399910e-01 6.47239354e-01 8.19104022e-01 5.03086061e-01
7.46279808e-01 6.27250363e-01]
[6.68131507e-01 7.71844038e-01 1.06870625e-01 2.11234144e-01
5.87620296e-01 2.77180160e-01 5.40788476e-01 7.17750916e-01
8.19064021e-01 6.59540421e-01 9.44691080e-02 5.67818727e-01
5.06527204e-01 4.49732711e-01 1.47883403e-01 8.06909184e-01
6.05428315e-01 5.74909901e-02 6.49909470e-01 8.72947905e-01
9.49657640e-01 1.15721542e-01]
[7.92880674e-01 3.29529464e-02 3.68081137e-01 5.66526970e-01
2.45648932e-02 5.76172064e-01 5.49515377e-01 5.50429265e-01
4.89449366e-01 8.34721024e-02 3.16879420e-01 9.33450244e-01
4.39616397e-02 7.42172692e-01 1.33195161e-01 1.91519696e-01
9.83481650e-01 1.63437240e-01 5.53631598e-02 4.96535478e-01
9.60082249e-01 4.54727048e-01]
[6.97747496e-01 4.79823467e-01 8.36732663e-01 1.06634238e-02
4.44371883e-01 3.56319899e-01 3.61442105e-01 2.76762138e-01
3.86279583e-01 1.01932540e-01 4.09456293e-02 7.51455780e-01
4.88319197e-01 2.02601709e-01 5.56476637e-01 9.52895937e-01
1.65778308e-01 5.44345288e-01 2.04852756e-01 9.10570122e-01
7.30383370e-01 3.85067791e-01]
[6.05865430e-02 3.48329421e-01 4.97619235e-01 6.37442116e-01
2.41889452e-01 8.83881688e-01 6.65040109e-01 4.42561553e-01
6.95899104e-02 8.20289496e-01 2.72212924e-01 1.28987296e-01
3.48422425e-01 4.04155301e-01 7.53888188e-01 4.36532335e-01
6.88078006e-01 9.42222645e-01 2.13019783e-01 5.34098990e-01
9.99913459e-01 5.63945106e-01]
[6.18581700e-01 7.34259085e-01 6.88342032e-01 6.93558689e-01
9.14786298e-01 1.24841694e-02 6.68447600e-01 8.49016691e-01
2.21693984e-01 5.03184967e-01 6.69723595e-01 2.63189315e-01
5.18521778e-01 6.35614653e-01 7.05651204e-01 9.26508331e-02
4.41826960e-01 1.08649696e-01 7.76845573e-01 9.06678814e-01
2.82035151e-01 6.60921753e-01]
[2.21130923e-01 7.20526738e-01 8.50854998e-02 8.10764015e-01
3.05892371e-01 7.99250259e-01 8.49894889e-01 4.95399813e-01
2.16326016e-01 1.10651306e-01 1.97520205e-01 1.31114575e-01
7.73755731e-01 6.98937382e-01 6.97545935e-01 8.62655282e-01
3.38933368e-01 8.62461594e-01 6.71487527e-01 5.44647966e-01
4.06097861e-01 4.48326637e-02]
[2.49435892e-02 3.78356480e-01 1.03552179e-01 3.22867236e-01
5.06642989e-01 8.51642411e-01 9.51311402e-01 1.22420793e-02
4.45610930e-01 1.74341777e-01 9.90496271e-01 1.93562971e-01
9.90590481e-01 9.92721425e-03 5.71196259e-01 7.93034577e-01
3.36979756e-01 4.04176400e-02 3.82313686e-01 2.09148347e-01
6.81551711e-01 4.53224466e-01]
[1.37855967e-01 3.86847760e-01 7.65475630e-01 6.95079697e-01
9.00673782e-01 5.65693073e-01 4.29109552e-01 1.74640706e-01
7.02239659e-01 2.16542138e-01 7.50210583e-01 3.22395563e-01
6.44442300e-01 5.83575151e-01 2.55431824e-02 5.48803963e-01
1.17844960e-01 6.17980983e-01 8.19281186e-01 6.21115778e-01
4.10600139e-01 5.63321032e-01]
[9.95103014e-01 5.13749071e-01 3.71291968e-01 2.16520132e-01
3.51660966e-01 1.54129962e-01 9.08822756e-01 6.96596245e-01
2.99363248e-01 8.37369122e-01 3.70427148e-01 6.02803925e-01
3.33805581e-01 7.51392228e-01 6.71544222e-01 6.54125113e-01
8.29378377e-01 3.12189664e-01 8.57945323e-01 1.61265811e-01
1.65757321e-01 8.01772090e-01]
[5.92776715e-01 6.64040121e-02 8.80001038e-01 8.79022261e-01
1.48506669e-01 3.82021966e-01 8.81384370e-01 6.19122622e-01
9.13769594e-01 4.10270077e-01 8.40462270e-01 9.79162425e-01
2.76401238e-01 1.29930587e-01 7.90600997e-01 5.94512217e-01
9.98259071e-01 2.92062763e-01 2.85734707e-01 9.74788441e-01
2.66228011e-01 7.23528919e-01]
[9.37791955e-01 1.97535048e-01 9.47459688e-01 3.86090040e-03
6.06873346e-01 2.53555191e-01 6.38490988e-01 6.50645101e-01
1.69232858e-01 9.93539336e-01 2.16908184e-01 1.50235594e-01
7.32080954e-01 3.10896922e-01 8.76534538e-01 5.65321347e-01
9.19493724e-01 8.42193234e-01 9.76002962e-01 5.72744584e-01
1.66142514e-02 4.76573537e-01]
[4.45503987e-01 9.59998843e-01 8.62783159e-01 6.42074128e-01
3.10476001e-01 9.50714560e-01 9.70748378e-01 9.63297022e-01
8.30348884e-01 7.33453198e-03 1.07968949e-01 7.74936782e-01
2.46156350e-01 7.58812084e-02 5.65603154e-01 2.09123645e-01
6.04979378e-01 4.06588728e-01 1.22042929e-01 1.69266692e-02
2.96613474e-01 4.13462623e-01]
[9.90589917e-01 1.36971385e-01 9.37453752e-01 1.01423079e-01
3.89967714e-02 2.29657011e-01 8.41730977e-02 5.61344571e-01
5.15763163e-01 3.61261818e-01 5.98629558e-01 9.50091339e-01
1.53849822e-01 1.09893072e-01 8.80963042e-01 8.34761198e-01
4.04164780e-01 5.44401128e-01 1.56625816e-01 8.78068535e-01
4.64015129e-01 7.35393033e-01]
[2.15804101e-02 6.25911686e-01 7.51552748e-01 9.86264874e-01
3.64061525e-01 6.19562459e-01 9.53488817e-01 7.24649188e-01
3.99684894e-01 2.99203813e-01 7.00511787e-01 1.49984192e-01
9.35228039e-01 9.97849379e-01 4.04676219e-01 5.93442142e-01
9.94064367e-01 1.16931998e-02 6.58032617e-01 5.05967842e-01
2.38239865e-01 8.72161128e-02]
[2.07331073e-02 5.04743637e-01 5.55080595e-01 6.87060341e-02
2.90748459e-01 1.92938665e-01 8.92456785e-01 3.17041911e-01
8.78515058e-01 5.66900923e-01 9.19475207e-01 7.96217847e-02
3.26196742e-01 6.45721657e-01 6.97025198e-01 5.51714723e-01
7.00309432e-01 7.89488765e-01 2.55047336e-01 6.39272397e-02
8.48629066e-01 3.91095790e-01]
[5.45253948e-01 1.36991978e-01 4.14321526e-01 9.47947291e-01
5.32724971e-01 6.28063438e-01 4.31576992e-01 3.82676500e-02
6.87464030e-02 5.71561880e-01 1.85918980e-01 1.27551992e-02
1.59345845e-01 5.06125342e-02 1.86157707e-01 5.56162975e-01
2.93140822e-01 8.78052126e-01 3.12036971e-01 9.54274354e-01
3.68576336e-01 4.85132096e-01]
[9.61574526e-01 5.64577986e-01 1.27048050e-01 7.92430587e-01
9.52878542e-01 3.20581854e-01 3.17438411e-01 1.67737834e-02
8.25151231e-01 9.24879098e-02 6.17843849e-01 9.37382496e-01
1.94537825e-01 4.74082582e-02 9.87754003e-01 6.73870721e-01
2.77294991e-01 9.78662093e-02 9.51219953e-01 6.73514181e-01
5.80263603e-01 8.09635346e-01]]
Random integer array :
[[1 0 6 ... 0 5 6]
[1 6 5 ... 5 0 4]
[2 4 1 ... 4 5 0]
...
[4 4 1 ... 3 4 3]
[3 6 1 ... 4 6 2]
[1 0 3 ... 6 5 5]]

Creating arrays using "arange")


creates an array having elements from start to stop-1 in step of "step" value. Interval is
known and set by developer(step).
arange(start,stop,step)
arr8 = np.arange(1,10,3)
print("Array created with arange: \t\n",arr8)
Array created with arange:
[1 4 7]

Creating arrays using "linspace"


linspace creates an array within the range. Number of elements to be created is fixed and
the interval between the elements is calculated by the system. linspace will include the last
value(stop)
arr9 = np.linspace(1,10,50)
print("Array created using linspace requesting 50 elements within 1 to
10:\t\n",arr9)

Array created using linspace requesting 50 elements within 1 to 10:

[ 1. 1.18367347 1.36734694 1.55102041 1.73469388


1.91836735
2.10204082 2.28571429 2.46938776 2.65306122 2.83673469
3.02040816
3.20408163 3.3877551 3.57142857 3.75510204 3.93877551
4.12244898
4.30612245 4.48979592 4.67346939 4.85714286 5.04081633
5.2244898
5.40816327 5.59183673 5.7755102 5.95918367 6.14285714
6.32653061
6.51020408 6.69387755 6.87755102 7.06122449 7.24489796
7.42857143
7.6122449 7.79591837 7.97959184 8.16326531 8.34693878
8.53061224
8.71428571 8.89795918 9.08163265 9.26530612 9.44897959
9.63265306
9.81632653 10. ]
Slicing
Inside [], the dimensions are seperated by commas. For eg., arr9[3,4] represents the
element in 4th row and 5th column

arr10 = np.array([[11,30,23,34,88],[12,31,24,35,89],[13,32,25,14,15],
[41,56,72,67,87]])
print(arr10)
print("Row 2:",arr10[1,:])
print("Column 5:",arr10[:,4])
print("Column 2:",arr10[:,3])
print("Elements 7,8,12,13 :\n", arr10[0:3,1:3])
print("All elements: \n",arr10[::])
print("Strides:\n",arr10[0::2,1:3])

[[11 30 23 34 88]
[12 31 24 35 89]
[13 32 25 14 15]
[41 56 72 67 87]]
Row 2: [12 31 24 35 89]
Column 5: [88 89 15 87]
Column 2: [34 35 14 67]
Elements 7,8,12,13 :
[[30 23]
[31 24]
[32 25]]
All elements:
[[11 30 23 34 88]
[12 31 24 35 89]
[13 32 25 14 15]
[41 56 72 67 87]]
Strides:
[[30 23]
[32 25]]
Masking - Important concept in Image processing
arr11 = np.array([23,21,22,34,36,56,67,45,44])
mask = np.array([0,1,0,0,1,0,1,0,0],dtype=bool)
print(arr11[mask])

[21 36 67]

Some more methods


arr12 = np.array([[17,45,34,67,69],[12,28,48,61,23]])
print(arr12)
print("Sum :\t",np.sum(arr12))
print("Sum :\t",np.sum(arr12,axis=0))
print("Prod :\t",np.prod(arr12))
print("Prod :\t",np.prod(arr12,axis=0))
print("Minimum :\t",np.min(arr12,axis=0))
print("Maximum :\t",np.max(arr12,axis=0))
print("Mean :\t",np.mean(arr12,axis=0))
print("Variance:\t",np.var(arr12,axis=0))
print("Standard Deviation:\t",np.std(arr12,axis=0))
print("Average:\t",np.average(arr12,axis=0))
print("Weighted Average:\
t",np.average(arr12,weights=[1,2,3,4,5],axis=1))

[[17 45 34 67 69]
[12 28 48 61 23]]
Sum : 404
Sum : [ 29 73 82 128 92]
Prod : 402628096
Prod : [ 204 1260 1632 4087 1587]
Minimum : [12 28 34 61 23]
Maximum : [17 45 48 67 69]
Mean : [14.5 36.5 41. 64. 46. ]
Variance: [ 6.25 72.25 49. 9. 529. ]
Standard Deviation: [ 2.5 8.5 7. 3. 23. ]
Average: [14.5 36.5 41. 64. 46. ]
Weighted Average: [54.8 38.06666667]

Scalar Operations - Arithmetic


arr13 = np.array([99,11,34])
arr14 = np.array([77,88,99])
arr15 = arr13+arr14
arr16 = arr13 - arr14
print("Summation:\t",arr15)
print("Difference:\t",arr16)

arr16+=5
print("Previous output after adding 5:",arr16)

### Try other operations


Summation: [176 99 133]
Difference: [ 22 -77 -65]
Previous output after adding 5: [ 27 -72 -60]

Relational Operations
arr17=np.array([87,57])
arr18=np.array([22,59])
result1 = arr17 == arr18
print(result1)

[False False]

Trignometric & Logarithmic operations


arr17 = np.array([111,333,444,555])
result7 = np.sin(arr17)
print("Sin values:\t",result7)
result8 = np.log(arr17)
print("Log value:\t",result8)

### Try other operations

Sin values: [-0.86455145 -0.00882117 -0.86008478 0.87328261]


Log value: [4.7095302 5.80814249 6.09582456 6.31896811]

#Try them out

#Try them out

You might also like