matlab中怎么使用gbdt

如题所述

1 机器学习是万能的?
当然不是,如果你认为可以简单地把一堆特征样本扔给机器学习,就期望它给一个好的模型,那是不可能。在使用机器学习之前,一定要对所使用的模型有个基本的了解,最好能够知道它的计算原理。如果你都不知道treelink为何物,那些参数大概是个什么意思,你最好就不要用了,用也是在拼人品。
2 使用机器学习的同时做好数据分析工作
就算使用机器学习,数据的分析工作也是省不了的,做好了分析工作,你会发现自己都可以像机器一样找到那些规律。其实机器学习本身也就是统计,帮你找数据之间的规律,并把这些规律做成规则。好莱坞奥斯卡金像奖电影《美丽心灵》中的男主人翁,诺贝尔经济学奖得主数学家约翰纳什在电影中被称为最厉害的人肉密码破译者,充分向我们展现了how people learning beats machine learning,当然是有些夸张的成份。下面是一些可以做的最基本的数据分析工作:
1) 特征的分布:按特征的取值分段,每一段包含的样本数量,特征均值,方差。
2) 目标分布同上
3) 特征目标关系:特征分段,每段中包含的样本的目标取值。
4) 目标特征关系:目标分段,每段中包含的样本的特征取值
3 模型在训练数据上效果不错,但做Cross-validation效果不佳
主要原因有两个:
1) 选取的样本数据太少,覆盖度不够,考虑增加训练样本
2) 样本特征过多,可以考虑减少一些特征,只留下重要的特征
4 模型在类似Cross-validation这样的封闭测试上效果不错,但在开放测试上效果不佳
1) 选取的训练数据覆盖度不够,不具备代表性,不能体现真实数据的分布。
2) 模型迁移(Model drift),随着时间变化,特征数据也随之变化。比如3个月前做的模型对现在的特征可能不会有好的效果。
温馨提示:答案为网友推荐,仅供参考
相似回答