标签:想法 遇到 利用 公式 思路 sklearn 证明 基于 一个
【问题如下】
像房价预测这样的表格类数据回归问题,我们当时的假设:“函数是线性的,也就是13个特征和房价之间的关系是一次方关系。”结果证明,效果还不错。然后,你好,我好,大家都好!
那么问题来了:
1、你是如何提前知道他们是线性关系的?
2、进一步说,在做曲线拟合时,假设函数是如何确定的?
【参考思路】
下面,我先抛砖,欢迎大家拍砖:
首先,没有办法能直接得出曲线是什么样的,试想如果能的话,我们还需要机器学习吗?直接用基于规则的算法,岂不是更高效?
其次,在实际工作中,往往是靠合理的“猜”来进行不断的尝试,最后达到一个效率和准确率的折中。
一般做法:
1、先做数据的归一化,统一量纲,让所有特征在进行训练前“人人平等”;
2、如果可以的话,可以用一些降维算法(比如PCA,t-SNE)来把特征降到2维,这样就可以利用Matplotlib等可视化工具来画一个三维图像,协助判断一下曲线的走势;
3、进一步说,可以简单粗暴直接上,先用线性回归来尝试,看效果;如果不行,那就再试二次方回归;还不行,就再试三次方回归 ... 大家还记得泰勒级数或是泰勒公式吧?他老人家已经证明了,只要阶数够高,不管你多复杂,我都可以拟合个差不多...
4、整个过程看上去很复杂,其实sklearn的多项式回归,很简单,几行代码就搞定。这个时候,你应该会非常感谢那些开源框架的作者们,让我们可以轻而易举的验证我们的想法 ...
实践证明:线性回归这种既简单又高效的算法,是最常用的,很多实际问题都可以搞定,所以,从线性回归开始尝试,没毛病 ...
欢迎拍砖!!!
如果喜欢我的文章欢迎一起探讨:
标签:想法 遇到 利用 公式 思路 sklearn 证明 基于 一个
原文地址:https://blog.51cto.com/14499138/2451451