维数大于样本数的问题

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

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


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




 

Alfred   2017-07-07 11:16



   3个回答 
4

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

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

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

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

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

SofaSofa数据科学社区DS面试题库 DS面经

MrMath   2017-08-11 22:22

1

试试lasso以及group lasso

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


SofaSofa数据科学社区DS面试题库 DS面经

abuu   2018-01-09 02:13

0

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


SofaSofa数据科学社区DS面试题库 DS面经

whanq   2018-01-13 12:00



  相关讨论

hashing trick或者feature hashing是什么

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

低维嵌入(low dimension embedding)是什么意思?

为什么LDA降维最多降到类别数k-1?

怎么评价tSNE的降维效果?

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

随机投影的实际效果如何?

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

NLP中的hashing trick是什么?

一个post网页爬取问题(爬取城市数据)

  随便看看

概率论中的鞅是什么?

plt.show()之后matplotlib图像依然不展示

怎么对pandas dataframe的列求众数

医学统计里的c-index或者c-statistic是什么意思?

yolo v4和yolo v3的主要区别是什么?