项目中多项式回归

来源:8-1 什么是多项式回归

哈hhh哈

2018-09-30

老师能问一个现实应用中的问题吗,在项目中,给出一组数据后,经过预处理后,一般是线性、非线性的模型都拟合下试试分数怎么样吧?那在使用多项式回归模型时不确定degree,是用网格搜索先随便在经验值附近试试吗?而且针对数据的n个特征,如何确定对哪1个或几个特征进行多项式回归呢?

写回答

1回答

liuyubobobo

2018-10-01

说实话,在实际应用中,在我看来,多项式回归使用的是最少的。我并不习惯使用多项式回归。因为:

1)多项式特征(近乎)完全没有语意。

2)如果特征本身已经很多,多项式回归的特征数将进一步指数级增长。


除非你的特征数比较少,可以尝试一下多项式特征。(比如iris的数据集,这个数据集的数据语意信息,让维度比较低的多项式特征拥有一定的语意。)否则,我不认为多项式特征那么有意义。


是的,再具体调参的时候,使用网格搜索就ok。通常在实际中,degree取的也不会太大,个人认为1-3足以。再高极有可能是过拟合。不过整体,对于任何算法的任何参数的调整,在使用网格搜索的时候,都涉及参数范围选择的问题,通常是先粗后细,逐渐细化获得最终的参数值:)


至于特征选择,多项式回归通常就用全特征。无用的特征在线性回归的过程中,权值会被分配的比较少(在线性回归的假设下。)当然,如果你对特征的语意很清晰,了解某些特征的多项式组合更有可能产生具有更高贡献的特征的话,就去使用他们。这里,我必须强调一下,理解你所需要分析的数据极度重要。很多重要决策都是建立在对自己的数据的理解的基础上的。我们所做的很多分析,探索,本质也是帮助我们更好的理解我们的数据:)


当你面对实际的机器学习问题的时候,你就会意识到:数据的多少和质量,以及特征工程,是极度重要的。请再回忆一下这个课程初始介绍的“没有免费午餐的定理”。更多分析可以参考这里:https://coding.imooc.com/learn/questiondetail/40722.html 注意我在最后说的Kaggle冠军的例子:)


你前面提到的模型选择问题,更多分析可以参考这里:

https://coding.imooc.com/learn/questiondetail/43808.html 


加油!:)


1
0

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5839 学习 · 2437 问题

查看课程