0.库的引入 要想画图,我们先倒入两个库. import numpy as np import matplotlib.pyplot as plt 注:以下代码全都基于导入这两个库的前提下编写的. 1.标准的正太分布 mu=0 sigma=1 x=np.linspace(mu-3*sigma,mu+3*sigma,100)#均值加减3倍的方差,取51个 y=np.exp(-(x-mu)**2/(2*sigma**2))/(math.sqrt(2*math.pi)*sigma) print(x.shape) print('x= ',x) print(y) print('y= ',y) plt.figure(facecolor='w')#背景颜色为白色 plt.plot(x,y,'r-',x,y,'go',linewidth=2,markersize=8) plt.xlabel('X',fontsize=15) plt.ylabel('Y',fontsize=15) plt.title('Gauss Distribution',fontsize=18) plt.grid(True) plt.show() 2.损失函数:Logistic损失(-1,1)/SVM Hinge损失/0/1损失 plt.figure(figsize=(10,8))#英寸 x=np.array(np.linspace(-2,3,1001,dtype=np.float)) y_logit=np.log(1+np.exp(-x))/math.log(2) y_boost=np.exp(-x) y_01=x<0 y_hinge=1.0-x y_hinge[y_hinge<0]=0 plt.plot(x,y_logit,'r-',label='Logistic Loss',linewidth=2) plt.plot(x,y_01,'g-',label='0/1 Loss',linewidth=2)#利用布尔值实现0 1损失 plt.plot(x,y_hinge,'b-',label='Hinge Loss',linewidth=2) plt.grid(True) plt.legend(loc='lower left')#upper,lower,left,right plt.savefig('1.png') plt.show() 3 x^x def f(x): y=np.ones_like(x)#保持和x一样的数据类型和格式,只不过数值大小为1 i=x>0 y[i]=np.power(x[i],x[i]) i=x<0 y[i]=np.power(-x[i],-x[i]) return y plt.figure(facecolor='w') x=np.linspace(-1.3,1.3,1001) y=f(x) plt.grid() plt.legend(loc='upper right') plt.plot(x,y,'g-',label='x^x',linewidth=2) plt.xlabel('X',fontsize=15) plt.ylabel('Y',fontsize=15) plt.title('Fig1',fontsize=15) plt.show() 4胸型线 x=np.arange(1,0,-0.001) y=(-3*x*np.log(x)+np.exp(-(40*(x-1/np.e))**4)/25)/2 plt.figure(figsize=(5,7)) plt.plot(y,x,'r-',linewidth =2) plt.grid(True) # plt.title(u'胸型线',fontsize=20) plt.savefig('breast.png') plt.show() 5 心型线 t=np.linspace(0,2*np.pi,100) x=16*np.sin(t)**3 y=13*np.cos(t)-5*np.cos(2*t)-2*np.cos(3*t)-np.cos(4*t) plt.plot(x,y,'r-',linewidth=2) plt.grid(True) plt.show() 6渐开线 t=np.linspace(0,50,1000) x=t*np.sin(t)+np.cos(t) y=np.sin(t)-t*np.cos(t) plt.plot(x,y,'g-',linewidth=2) plt.grid(True) plt.show()