Dojo
最新
最佳
搜索
订阅
解道Jdon
领域驱动设计
架构设计
热点话题
GitHub开源免费源代码
认知偏差与谬论
RUST语言
数据科学
产品经理
go语言文章排行榜
docker教程文章排行榜
规则引擎
幽默模因
更多话题
如何根据数据的分布来选择ML算法? - Reddit
22-03-26
banq
问题:根据基础理论/数据分布,何时使用决策树而不是 SVM 或 KNN 更好?
答案:
1. xgboost在结构化数据和监督学习问题上很难被击败。
相对特征规模不是问题,类不平衡不是问题,它可以处理空数据,而且由于决策树的性质,它在非线性数据上表现得非常好。它缺乏线性回归的可解释性,但通过SHAP值等技术,你仍然可以在模型或单一预测层面获得特征重要性。
2. 我认为模型
架构
更多的是取决于你要解决的问题和相关的约束。
如果我想要一些简单或可解释的东西,我可能会选择一个决策树。如果我想要一些高性能的分割,我可能会使用像UNet或MaskRCNN这样的成熟方法。为什么这些方法都能很好地工作,在文献中都有简洁的记录。
最终,我认为选择ML算法的很大一部分要归结为了解两者的利弊,以及被建模的非线性函数的种类(也就是对基础数据进行的假设,如果有的话)。例如,Naive Bayes或GDA都对你的数据做出不同的关键假设。
3. 所有的机器学习模型都会在特征空间中创建超平面,选择一个模型而不是其他模型的更好方法是了解这些超平面是如何被模型创建的,以及你的特征在空间中是如何表示的(用一些 dimensonality reduction 技术进行可视化,如 UMAP 或 t-SNE)。
猜你喜欢
本站原创
《复杂软件设计之道:领域驱动设计全面解析与实战》
其他人在看