当前位置:   article > 正文

【头歌】重生之机器学习-线性回归_头歌线性回归代码评测超时!本关限定时间为:60s,程序可能存在以下问题: 1. 代码存

头歌线性回归代码评测超时!本关限定时间为:60s,程序可能存在以下问题: 1. 代码存

关于【头歌】线性回归理论与案例实践的其他单元仅粉丝看见,想要更多学习资源的同学关注我哦~

创作不易,参考之前,点个赞,收藏,关注一下不过分吧,家人们

第1关:数据载入与分析

任务描述

本关任务:编写一个能够载入线性回归相关数据的小程序。

编程要求

该实战内容中数据为一元数据,利用 pandas 读入数据文件,并为相应的数据附上名字标签,分别为PopulationProfit

  1. data = pd.read_csv(path, header= , names=[ ' ', ' ' ])
  1. if __name__ == "__main__":
  2. path = os.getcwd() + '/ex1data1.txt'
  3. #利用pandas读入数据data,并将数据属性分别命名为'Population''Profit'
  4. #********* begin *********#
  5. data=pd.read_csv(path,header=None,names=['Population','Profit'])
  6. #********* end *********#
  7. print(data.shape)

第2关:计算损失函数

编程要求

根据以上公式,编写计算损失函数computeCost(X, y, theta),最后返回cost

  • X:一元数据矩阵,即Population数据;
  • y:目标数据,即Profit数据;
  • theta:模型参数;
  • cost:损失函数值。

测试说明

测试输入:无
测试输出:the cost is: 32.0727338775

  1. def computeCost(X, y, theta):
  2. #根据公式编写损失函数计算函数
  3. #********* begin *********#
  4. inner=np.power(((X*theta.T)-y),2)
  5. cost=np.sum(inner)/(2*len(X))
  6. cost=round(cost,10)
  7. #********* end *********#
  8. return cost

 第3关:进行梯度下降得到线性模型

编程要求

根据以上公式,编写计算损失函数gradientDescent(X, y, theta, alpha, iters),最后返回theta, cost

  • x:一元数据矩阵,即Population数据;
  • y:目标数据,即Profit数据;
  • theta:模型参数;
  • m:数据规模;
  • α: 学习率。

测试说明

测试输入:无
测试输出:模型参数为:[[-3.241402141.1272942]]

  1. def gradientDescent(X, y, theta, alpha, iters):
  2. temp = np.matrix(np.zeros(theta.shape))
  3. parameters = int(theta.ravel().shape[1])
  4. cost = np.zeros(iters)
  5. for i in range(iters):
  6. error = (X * theta.T) - y
  7. for j in range(parameters):
  8. #********* begin *********#
  9. term=np.multiply(error,X[:,j])
  10. temp[0,j]=theta[0,j]-((alpha/len(X))*np.sum(term))
  11. #********* end *********#
  12. theta = temp
  13. cost[i] = computeCost(X, y, theta)

 注:内容只做参考和分享,未经允许不可传播,侵权立删

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/577741
推荐阅读
相关标签
  

闽ICP备14008679号