关于特征工程与模型间关系的一些想法

声明:本人在自学机器学习,这篇文章的作用是记录一些学习中的想法及Aha moment,文章的内容无法保证绝对的正确与准确如果你不小心通过搜索引擎或任何其他方式找到了这篇文章,如果你是抱着学习准确的知识点的目的在找文章,请谨慎阅读此文。如果你对本文的内容有什么想法或观点,这里欢迎大家提出任何见解,批评与讨论!交流促进学习!

正文:

为什么要做特征工程?为了让模型有更好的性能和更精准的预测结果。所以要有效果且有效率的做特征工程,应从模型入手,从模型的算法的特性入手。比如,决策树是如何处理数据点的?哦!是横竖式如不均匀的网格一般分点的,所以如果我们可以有办法将数据点的分布进行变换,将其变换到尽可能的可以更方便的被垂直于各坐标轴(即横竖线)的线分开,则模型可更方便快速有效的来做预测。同理线性回归模型下,如果我们能尽可能的把数据点的每个特征与y的关系转化为线性关系,则线性回归模型也会有更好的性能。

影响点分布的的不只是模型,也有label y,尤其是在回归模型中,比如,在一个只有一个feature的回归模型中,数据点可以表示在x-y坐标系上,如果x与y的关系近似于指数函数,则此时对y做log处理,即:label:y->log(y),则x-log(y)的关系为线性,可以更好地被应用于线性回归模型中。

总结:特征工程的目的是为了让模型有更好的性能,所以在熟悉每种模型算法,知悉各个模型的特性的前提下可以更intuitive、有目的性的做特征工程;特征工程的本质是根据模型算法的特点,对features甚至labels做数学变换,使其更兼容于模型的特性;对y做变换,尤其是在回归模型下,可改变y在plot上的分布形状,对X做变换,是在调节X与y之间的相关关系,目标应是尽可能的加强、直接化、提纯化这种关系,从而使模型在训练时的调钮可以更精准。

你可能感兴趣的:(关于特征工程与模型间关系的一些想法)