分类或测试模型的样本特征存在缺失和稀疏问题,有什么好办法处理?

请教各位老师:
比如,我们要建立分类或者预测模型。
但是,由于各种原因,样本的特征存在“缺失”或“稀疏”的问题。

针对这样的数据,我们可以用哪些合适的模型来处理吗?
我的感觉是,决策树类的模型,是不是比较适合?
因为它们能深入到样本特征的细节,寻找合适的特征或特征组合?

另一个问题:
在构建用于训练的特征集合时,有时候我们人为理解比较重要的特征,但加入进去后,却发现分类或预测效果下降了。
那我们有哪些统计方法,可以在训练前,检测下特征的重要性之类的指标吗?
比如,卡方分布统计是不是可以用于分类预测建模前的特征选择?
或者通过正则化系数,在建模的过程中过滤掉部分特征?

请问各位老师,针对上述问题,有哪些实践或理论上的经验吗?
谢谢!

邹博 - 计算机科学博士,深谙机器学习算法原理

赞同来自: fish Eric_Jiang

 @Eric_Jiang 姜老师说的蛮全面了。 我画蛇添足一下:@LeonTown 说的“通过正则化系数,在建模的过程中过滤掉部分特征”,应该就是指的LASSO(L1Norm),不过多说一句,如果是适应Ridge回归(L2Norm)是无法做到特征稀疏性的。

Eric_Jiang - 我是小象的搬运工!!!

赞同来自: fish

对于数据缺失问题: 最简单常见的是用均值、众数、随机数等替代,但是增加了误差。 使用其他变量预测缺失变量。在缺失的变量与其他变量无关的时候,和预测非常准确时是无意义的 最好的方法是映射到高维。比如气象数据,对于缺失的数据用9999代替。更简单的比如一般的0,1哑元变量,你增加一项 2 或者其他为缺失 相比较决策树,我觉得贝叶斯分类在满足独立的情况下更适合稀疏数据吧。 对于稀疏数据问题 你可以是试下PCA(主成分分析)提取特征和PLS 或者使用平滑。   给每项都加1 或者小于1的数值。还有很多方法你可以google下。 对于你的第二个问题: 特征之间存在一定程度的相关性,也就是某个特征可以线性表出其他部分特征。这种情况下多少会影响模型的效果,严重的话存在多重共线性。可以使用lasso回归进行简单的筛选变量或者PCA 卡方分布可以用来测试随机变量之间是否相互独立,也可用来检测统计模型是否符合实际要求。卡方检验在文本分类中可以用于特征选择。但是由于不care单词出现次数,只在乎是否出现,某些时候并不是很好。 正则化系数能够过滤掉部分特征,我不太清楚。不过正则化防止过拟合,应该做不到筛选特征吧。  

LeonTown

赞同来自:

谢谢 @Eric_Jiang ! @visio 老师什么意见呢?

要回复问题请先登录注册