用Python进行机器学习(附代码、学习资源)

在数据科学和分析领域中,对非线性数据进行建模是一项常规任务。但找到一个结果随自变量线性变化的自然过程很不容易。因此,需要有一种简便并且稳健的方法来快速将测量数据集与一组变量进行拟合。我们假定测量数据可能包含了一种复杂的非线性函数关系。这应该是数据科学家或机器学习工程师常用的工具。

我们要考虑以下几个相关的问题:

d47e62d2b349aca45e42305ed6714efbe5ed61d9怎么确定拟合多项式的顺序?是否需要为多变量回归加上交叉耦合项?有没有简单的方法将这一过程自动化?
d47e62d2b349aca45e42305ed6714efbe5ed61d9怎样判断模型是否过拟合?
d47e62d2b349aca45e42305ed6714efbe5ed61d9如何得知模型在面对噪声时够不够稳健?
d47e62d2b349aca45e42305ed6714efbe5ed61d9模型能不能轻松拓展到更高维度或更大的数据集上?

如何确定拟合多项式的顺序?

“我们能不能画出数据图形直接得到结论?”

数据如果能清楚的可视化表示(即特征维度为1或2)时,方法可行。一旦数据的特征维度等于3或者更多,这事儿就麻烦了。而且如果对结果产生影响的特征存在交叉耦合,这么做就完全是在浪费时间。下面我们画个图来感受一下:

f2026a598763785db3d9d07776f8c7b3741c3b58

很明显,直接画图的方法最多也只能做到上面这种程度。对那些更高维度并且变量相互作用的数据集,如果你试图每次只查看单个输入变量和输出之间的关系,会得出完全错误的结论。而且目前没有什么好办法同时显示两个以上的变量。所以,我们必须采用某种机器学习的技术来拟合多维数据集。

原文链接