作者回复: 老弟不必沮丧哈,机器学习就是这样,高级玩法试了一圈,发现效果并没有显著提升,有的时候,甚至更差,这个不必郁闷,大家一开始都是这样的~ 根本原因在于,我们对于数据、特征、模型(学习器)之间的本质区别,并没有从根儿上理解到位。咱们这门入门课,机器学习部分,受课程要求所限,篇章太少了,实际上机器学习涉及的方方面面非常多。机器学习,并不是跑个模型,调调参数那么简单,否则的话,算法工程师的工资不会那么高~ 模型效果,80%依赖特征,20%依赖模型选择、调优、调参,等等,我们从线性模型介绍到树模型,实际上,更多的是课程上的需要,为了给大家介绍更多种类型的模型,让大家知道,当需要类似模型和算法的时候,Spark都支持哪些,不支持哪些,从哪里选,怎么用。 但严格来说,并不是复杂模型,就一定比简单模型效果更好,在同一个假设空间,能够完美拟合训练数据的假设有多个,并不是复杂的模型,就是更好的。对于房价预测的例子,其实重中之重还是特征,老弟不妨去文中Kaggle对应的项目,聊一下排名靠前的那些项目,他们大部分都是使用各种“骚操作”来处理、生成特征,反而模型并不复杂。 由于咱们课程定位是入门,所以特征工程的部分,其实更得的,也是介绍方法,Spark MLlib支持哪些,不支持哪些,怎么用,真要用到的时候,怎么选。其实,咱们并没有针对这个项目,去仔细地做特征选择、特征生成,等等,这些非常必要的工作。 所以说,老弟不必气馁,咱们这里效果不好,主要是很多事情其实没多到位,并不是机器学习本身不给力,或是过于缥缈,一起加油哈~
作者回复: 最开始,其实是想出一门Spark MLlib + 机器学习的课程,但是后来跟极客时间商量之后,大家觉得Spark + 机器学习,受众面更小,所以后来改成了基础入门课,也就是咱们现在这门课程《零基础入门Spark》,后面找机会写一些专门针对机器学习的东西吧~
作者回复: 暂时还没有哈,杂务缠身,时间精力确实有限,等忙过这段时间再说吧,对不住老弟