机器学习吴恩达

机器学习记录

python 学习

# -*- coding: utf-8 -*-
"""
Spyder Editor

This is a temporary script file.
"""
import matplotlib.pyplot as plt
import numpy as np
array=np.array([[1,2,3],[1,2,3]])
print (array)
'''维度\形状\总的数目'''
print ("number of dim",array.ndim)  
print("shape",array.shape)
print("size", array.size)
''' 定义精度 float32/64 int43/64)'''
b=np.array([1,2,3], dtype=np.float)
print("type\n", b.dtype)
'''定义全0 数组'''
c=np.zeros((4,3))
print ("全0\n",c)

d=np.empty((4,3))
print("define 空矩阵\n", (d))

e=np.arange(12)
f=np.arange(1,12,2)
g=(np.arange(1,12))
print(" 生成0-11",e,'\n',"1-11 步长2",f,'\n',"1-11",g)

h=np.arange(12).reshape((3,4))
print("按着4*3生成矩阵\n",(h))
i=np.linspace(1,10,6)
print("1-10分5断\n",i)

'''array 的计算'''
j=np.array([1,2,3])
k=np.arange(3)
print(j,k,"和为", j+k,"subbtraction",j-k,"multiply",j*k,"power",j**2)

l=10*np.sin(j)
print("计算sin\n",l)
print("计算大于一个数值,返回TRUE FALSE\n",l>5)
print("这个是jk对应值相乘\n",j*k)
print("ab vector multiply\n", np.dot(j,k))

'''matrix multiply'''
m=np.array([[1,2],[1,2]])
n=np.array(([2,3],[2,3]))
print("矩阵乘积\n",np.dot(m,n))
print("矩阵乘积\n",m.dot(n))

'''random  随机生成2行死列0-1的随机数,找最大最小值,加上axis 0 表示列中1表示行'''
p=np.random.random((2,4))
print("随机生成矩阵\n",p)
print("求和 最小 最大 以及按列求还是按行求\n",np.sum(p),np.min(p),np.max(p,axis=0))

'''matrix 索引最小'''
print("数值最小的小标",np.argmin(m))
print("数值最大的小标",np.argmax(m))
print("平均值",np.mean(m))
print("平均值",np.average(m))
print("中位数",np.median(m))

'''矩阵值依次相加形成的数组\相减得到的数组\得到的第一个array是行的下标,第二个得到的数是列的下标/sort 每一行的排列'''
q=np.array([[1,2,3],[7,5,6]])
print(q)
print("矩阵一次加上一位形成\n",np.cumsum(q))
print("矩阵与前一位的差\n",np.diff(q))
print("非0中的数的下标,第一个array是非零的x值 第二个array 是非0的y值\n",np.nonzero(q))
print("对矩阵的每行进行排序\n",np.sort(q))
'''matrix的转置'''
print("transpose1\n",np.transpose(q))
print("transpose2\n",q.T)
print("transpose cal\n",(q.T).dot(q),"=\n", np.dot((q.T),q))
'''np.clip(a,4,5)小于2的数字都写成2,大于5的数字都写成5,在中间的数字保留'''
print("clip 之后的结果为\n",np.clip(q,2,5))

r=np.array([[1,2,3],[4,5,0],[7,8,9]])
print("列的平均值", np.mean(r,axis=0),r.dtype)
for column in r.T:
print("输出列",column)
print("多维展开一维",r.flatten())

y=np.array([[1,2,3],[4,2,0]])
t=np.array([[1,2,3],[1,5,0]])
e=np.vstack((y,t))
print("垂直合并数组",e)
e=np.hstack((y,t))
print("水平合并数组",e)
'''---------------------------------------------'''
print("DRAW")
x = np.linspace(-3, 3, 50)
y=2*x+1
plt.figure(num=3,figsize=(5,3))
plt.xlim((-1, 3))
plt.ylim((-2, 3))
plt.plot(x,y,color="red",linewidth=2.0,linestyle="--")
plt.xlabel('I am x')
plt.ylabel('I am y')

plt.show()

(其中的一些笔记)
matplotlib 的颜色特征等参考

matplotlib 官网绘图指南
详细的小例子
矩阵切片

关于pca 中协方差笔记
https://blog.csdn.net/babywong/article/details/50085239
吴恩达机器学习的笔记及课后
https://blog.csdn.net/sdu_hao/article/details/84138502

发布了39 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/poppyl917/article/details/95047101