维数大于样本数的问题

  统计/机器学习 数据预处理 数据降维 开放问题
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编码,维度升高,如何处理?   0回答

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

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

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

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

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

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

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

在使用PCA降维时,有哪些坑?   6回答

为什么PCA被称作非监督式学习?   2回答

除了PCA,还有什么降维的方法?   6回答

sklearn.decomposition.PCA方法中fit, fit_transform, transform应该怎么用   1回答



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

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

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

我们谢绝答非所问。

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

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