维数大于样本数的问题

  统计/机器学习 数据预处理 数据降维 开放问题    浏览次数: 1230
2

一般说来数据的维数太大,会有所谓的维数灾难。


如果数据集的维数(列数)远远大于样本数(行数),有什么好的解决办法吗?




 

Alfred   2017-07-07 11:16



   3个回答 
3

是的,dimensionality curse就是说的这类问题,特征比样本多,p >> n。

这个问题是统计机器学习中的经典问题,也就是降维问题。

你可以使用AIC或BIC来筛选特征。

也可以使用一些正则化模型,比如LASSO来进行降维。

如果使用随机森林或者gbdt的话,即使维数多于样本数,也不会是大问题,而且你可以利用模型返回特征的importance来进行特征选择,起到降维的作用。


MrMath   2017-08-11 22:22

1

试试lasso以及group lasso

另外naive bayes和cart也很用,虽然没有直接降维,但是模型本身不会太被高维度所影响


abuu   2018-01-09 02:13

0

如果使用决策树或者随机森林的话,维数即使很大,影响也不会太大吧


whanq   2018-01-13 12:00



  相关主题

分类变量,进行One hot编码,维度升高,如何处理?   3回答

hashing trick或者feature hashing是什么   1回答

python里怎么实现t-SNE降维?   1回答

高维数据应该用什么聚类模型?   3回答

t-SNE如何实现降维?   1回答

NLP中的hashing trick是什么?   1回答

线性回归或者逻辑回归中常提到的AIC和BIC是什么意思?   1回答

关于朴素贝叶斯特征工程、特征选择的问题   2回答

训练集加入噪声防止over fitting还是加剧overfitting?   3回答

如何简单理解正则化   2回答

PCA降维之前为什么要先标准化?   2回答

PCA会降低分类器的精度吗?   3回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!