简介
这是最好的机器学习大规模开放在线课程(MOOCs)之一,由Andrew NG教授讲授。然而,NG教授使用MATLAB/Octave进行教学,编程作业必须使用其中之一完成并提交。你喜欢这门课程但不喜欢专有的MATLAB或运行缓慢的Octave吗?或者由于任何原因,你更愿意使用免费的GNU R来完成编程作业?
要观看讲座视频和幻灯片,请访问课程原始网站。本仓库提供了使用R统计软件解决编程作业的启动代码。只需按照以下步骤完成编程作业:
- 观看讲座视频
- 阅读R兼容版本的说明,这些说明可在wiki页面上获取
- 填写代码中标注为"YOUR CODE HERE"的部分
- 如果你无法自己解决,可以从启动代码所在目录中后缀为"-solution"的相关文件获取帮助。例如,
starter/ex1/computeCost.r
有一个相关的解决方案文件,名为starter/ex1/computeCost-solution.r
- 提交
依赖项
为了生成与Octave/MATLAB相似的结果和图表,你需要安装一些包(install.packages(c('rgl','lbfgsb3c','SnowballC','jsonlite', 'httr'))
):
rgl
包用于在练习1和7中生成3D散点图和表面图。lbfgsb3c
:用于解决练习4和8中的大型优化任务SnowballC
:此包中的portStemmer
函数与练习6中的portStemmer.m
扮演相同的角色jsonlite
和httr
包用于提交作业。
此外,MASS
包中的ginv
(广义逆)函数与MATLAB的pinv
(伪逆)不产生相同的结果。因此,lib/pinv.r
是MASS::ginv
的修改版本,用于产生与MATLAB pinv
相同的结果。
提交
完成每项作业后,在R控制台中执行source("submit.r")
,然后执行submit()
。我已将解决方案提交给Coursera进行测试,得分为100%。如有任何提交问题,请在此报告。
许可
本项目在原创范围内以MIT许可发布。