采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
就是最近遇到一个项目的问题。我大概表述,就是2-3千个样本,有8百多个自变量(特征),我们这边有根据自变量(特征)得到的因变量(输出值)。然后我想通过能不能用随机森林方法筛选出大概30个对输出值有明显影响的自变量(特征)。 第二问题就是要不要对2-3千样本进行数据清洗,就是剔除无用的数据?
1)
当然可以。另外,特征如何选择也是一个“超参数”,有很多特征选择算法,如果觉得适合,都可以尝试一下。
除了利用这种机器学习算法“附带”的特征选择能力,使用统计学做特征选择也非常值得尝试。即计算因变量和自变量之间的不同的指标。(实际上,在我接触的范围里,这种方式更常见。)
另外,如果对特征的语义没有要求,降维的方式也可以尝试。比如 PCA。注意,降维的算法也有很多种,可以看看你的应用适合哪一种。
甚至,对于不同的领域,有专门的特征选择方式,是领域相关的。
2)
我不知道在你的应用中,是怎么定义“有用”和“无用”的,也不知道如果做了你说的“清洗”工作,还能剩下多少数据。即使你告诉我剩下了多少数据,我也无法判断这个量级的数据是否能够满足你的应用需求。这就是机器学习复杂的地方,他是没有一定之规的。所以数据的探索,实验,非常重要。否则,大家都使用一个路子处理完数据扔给模型就好了,机器学习也太简单了。
但是,因为你用的词汇是“无用”,如果你对“无用”的定义真的准确,那显然应该剔除。(比如你的应用是判断图片是猫还是狗,但是你的数据集里有汽车,那这些数据显然没有用,应该剔除。)
继续加油!:)
谢谢bobo老师,背景是特征是分子结构和性质的特征,输出(因变量)就是对于这些分子特征对于本身活性影响因素。就是这种背景,主要纠结的是这种问题去用pca应该不能,决策树和随机森林还是相关系数都是想尝试的? 不知道bobo能提供啥其他可能方案
在很多真实问题中,PCA 都不适用,因为 PCA 有一个强假设,即线性假设。我只是提及,如果不在乎语义的话,单纯追求高准确率,除了特征提取,降维的方式也值得尝试。这就是为什么我要强调,降维的方式有很多种,比如 t-SNE,比如 ISOMAP。你可以搜索“降维算法”了解一下。另外,应该每个领域都有大量的基于领域知识的特征提取,特征选择等等算法(我接触的为数不多的领域都是如此),搜索这个领域的论文,应该有不少。继续加油。
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.6k 19
3.6k 17
3.1k 15
1.7k 15
1.6k 14
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号