对于我的数据,我尝试了几种基于树的网格搜索算法,例如XGBoostClassifier,RandomForestClassifier,但精度只有50%左右。
然后我尝试了SVC,在网格搜索中测试精度可高达80%。
是否有任何方法(首选可视化)可以帮助我们说出背后的原因?
答案 0 :(得分:1)
根据经验,SVM非常适合具有较少异常值的相对较小的数据集。随机森林需要更多数据,但根据我的经验,往往是一个非常强大的模型。在实践中,决定选择哪个分类器实际上取决于您的数据集和问题的一般复杂性,我不确定在您的情况下。
我应该提一下另一个潜在的偏差可以是调整的参数。在随机林树中,调整的参数有限(可能除了树的数量;通常,我们拥有的树越多越好)。而对于SVM,您必须选择“正确”内核,正则化惩罚,松弛变量等,这是通常随机森林“开箱即用”往往表现更好的另一个原因。
如果涉及预测性能,有些情况下SVM比随机森林更好,反之亦然。见下面的论文。
Caruana, Rich, and Alexandru Niculescu-Mizil. "An empirical comparison of supervised learning algorithms." Proceedings of the 23rd international conference on Machine learning. ACM, 2006.