【发布时间】:2020-05-25 18:03:41
【问题描述】:
我一直在寻找几种特征选择方法,并通过以下链接(XGBoost feature importance and selection)找到了借助 XGBoost 进行特征选择的方法。我为我的案例实现了该方法,结果如下:
- 阈值 = 0.000,n= 11,准确度:55.56%
- 阈值 = 0.000,n= 11,准确度:55.56%
- 阈值 = 0.000,n= 11,准确度:55.56%
- 阈值 = 0.000,n= 11,准确度:55.56%
- 阈值 = 0.097,n = 7,准确度:55.56%
- 阈值 = 0.105,n= 6,准确度:55.56%
- 阈值 = 0.110,n = 5,准确度:50.00%
- 阈值 = 0.114,n= 4,准确度:50.00%
- 阈值 = 0.169,n= 3,准确度:44.44%
- 阈值 = 0.177,n = 2,准确度:38.89%
- 阈值 = 0.228,n = 1,准确度:33.33%
所以,我的问题如下,对于这种情况,我如何选择具有少量特征 [n] 的最高精度? [代码可以在链接中找到]
编辑 1:
感谢@Mihai Petre,我设法让它与他回答中的代码一起工作。我还有一个问题,说我从链接运行代码并得到以下信息:
Feature Importance results = [29.205832 5.0182242 0. 0. 0. 6.7736177 16.704327 18.75632 9.529003 14.012676 0. ]
Features = [ 0 7 6 9 8 5 1 10 4 3 2]
- 阈值 = 0.000,n = 11,准确度:38.89%
- 阈值 = 0.000,n = 11,准确度:38.89%
- 阈值 = 0.000,n = 11,准确度:38.89%
- 阈值 = 0.000,n = 11,准确度:38.89%
- 阈值 = 0.050,n= 7,准确度:38.89%
- 阈值 = 0.068,n= 6,准确度:38.89%
- 阈值 = 0.095,n = 5,准确度:33.33%
- 阈值 = 0.140,n= 4,准确度:38.89%
- 阈值 = 0.167,n= 3,准确度:33.33%
- 阈值 = 0.188,n= 2,准确度:38.89%
- 阈值 = 0.292,n= 1,准确度:38.89%
如何删除特征重要性为零的特征并获得具有特征重要性值的特征?
附带问题:
- 我正在尝试找到涉及使用的最佳功能选择 特定的分类模型和有助于给出的最佳特征 高精度,例如,使用 KNN 分类器并希望 找到给出高精度的最佳特征。有什么特点 选择是否适合使用?
- 在实现多个分类模型时,最好对每个分类模型进行特征选择,还是需要进行一次特征选择,然后将选择的特征用于多个分类模型?
【问题讨论】:
-
特征选择本身并不会提高准确性。工程信息功能确实如此。特征选择可以帮助您了解哪些特征在解释输出方面更强大。但一般来说,机器学习算法,尤其是树,已经知道哪些特征是有用的,哪些不是。
标签: python machine-learning xgboost feature-selection feature-engineering