- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
专业班级: 2018164 学号: 201816406 姓名:张锦渊
实验二:线性回归
实验代码:
import numpy as np
import matplotlib.pyplot as plt
a = np.loadtxt(E:\机器学习实验二\ex1data1.txt)
m=a.shape[0]
print(m)
print(type(a))
x=a[:,0]
y=a[:,1]
plt.scatter(x,y,marker=*,color=r,s=20)
theta0=0
theta1=0
iterations = 1500
alpha = 0.01
def gradientdescent(x,y,theta0,theta1,iterations,alpha):
J_h=np.zeros( (iterations,1) )
for i in range(0,iterations):
y_hat=theta0+theta1*x
temp0=theta0-alpha*((1/m)*sum(y_hat-y))
temp1=theta1-alpha*(1/m)*sum((y_hat-y)*x)
theta0=temp0
theta1=temp1
y_hat2=theta0+theta1*x
aa=sum((y_hat2-y)**2)
J=aa*(1/(2*m))
J_h[i,:]=J
return theta0,theta1,J_h
(theta0,theta1,J_h) = gradientdescent(x,y,theta0,theta1,iterations,alpha)
print(theta1)
print(theta0)
plt.plot(x,theta0+theta1*x)
plt.title(fittingcurve)
plt.show()
x2=np.arange(iterations)
plt.plot(x2,J_h)
plt.title(costfunction)
plt.show()
实验结果:
多变量线性回归
import?numpy?as?npimport?pandas?as?pdimport?matplotlibimport?matplotlib.pyplot?as?pltmatplotlib.rcParams[apos;font.sans-serifapos;]=[apos;SimHeiapos;]path=./ex1data2.txtdata=pd.read_csv(path,?header=None,?names=[apos;sizeapos;,apos;numapos;,apos;priceapos;])data.head()X=?data.loc[:,?[apos;sizeapos;,?apos;numapos;]]y=?data.loc[:,?apos;priceapos;]X=?(X?-?X.mean())?/?X.std()X.insert(0,?apos;onesapos;,?1)X.head()X=np.matrix(X.values)y=np.matrix(y.values)theta=(np.matrix([0,0,0])).Tdef?computeCost(x,y,theta):????inner=np.sum(np.power((theta.T*x.T-y),2))????return?inner/(2*len(x))def?gradientDescent(x,y,theta,alpha,iters):????temp=np.matrix(np.zeros(theta.shape))????cost=np.zeros(iters)????for?i?in?range(iters):????????temp=theta-(alpha/len(x))*((theta.T*x.T-y)*x).T????????theta=temp????????cost[i]=computeCost(x,y,theta)????return?theta,costalpha=[0.0001,0.001,0.01,0.0003,0.003,0.03]iters=2000x=np.arange(iters)fig,ax=plt.subplots()for?i?in?alpha:??
文档评论(0)