比如有两百个属性,如何选择出有用的属性,选择出属性后如何进行特征处理?归一化?标准化?
这个步骤比较模糊,请大神给点拨一下
不是很清楚你要问什么,是你有很多属性,要看哪些属性具有比较强的相关性么?这个可以用PCA(主成分分析)
https://blog.csdn.net/lyl771857509/article/details/79435402
我的意思是怎么找出来比较有用的那几个特征,有哪些方法?
我来回答一下楼主的问题,我认为楼主是想知道特征工程一般要怎么做,大概的思路、步骤是什么样的。
首先,不同的问题特征工程不一定相同,我只是说一下大概的步骤,楼主参考就好。
1. 研究问题:确定你的问题类型,需要用什么算法解决,有什么限制,需要用什么模型?比如用浅层的回归模型linear regression,还是深度学习等。。
这里假设你选择了linear regression。
2. 研究你的数据:
2.1 包括一些普适性的研究:是否有缺失值,feature的分布如何
2.2 一些具体问题下的研究,这里涉及到这个问题下的domain knowledge,需要行业专家的接入:
--- 每个feature代表的含义是什么?
--- 是否需要feature变形,以产生更有意义的feature?
(这里指和问题的target之间更有相关意义,因为你选择linear regression,模型本身很简单,无法学习到复杂的特征变换,所以需要你手动的进行特征变换)
(比如,推荐系统问题,需要你把特征交叉 等等)
--- 对于 continous numerical feature:如果认为特征与target直接线性度不好(甚至不单调) ==> 离散化,把它bin成多个0-1feature
--- 对于 discrete categorical feature:通过 transforamtion 数字化,再通过 encoding 形成 0-1feature(当然还有很多encoding的方法)
3. 特征选择(一般之前需要标准化)
特征选择的方式有很多,用一种比较简单的办法是这样的:
分析 target 和 每个feature 之间的相关度,比如用MI衡量、皮尔逊(因为上文说过已经是线性相关的feature了),保留top K
4. 带入分类器训练
5. fine-tune 这步非常重要,通过迭代的方式,找到最好的超参数
如上,步骤和你选择的模型、数据的特点、business logic都有关系,具体问题具体分析。
关键是,你要了解每个模型都是如何工作的,每个特征如何被模型利用,经验至上,先写这点吧