常见问题#

Q: EvalML 与其他 AutoML 库有什么区别?#

EvalML 基于定制实用目标而非模糊的机器学习损失函数来优化机器学习流水线,以便为您的特定需求找到最佳流水线。此外,EvalML 流水线能够处理各种数据(缺失值、分类变量等),只要数据在一个单一表格中即可。EvalML 还允许您使用现有或定制组件构建自己的流水线,以便更好地控制 AutoML 过程。此外,EvalML 还提供数据检查形式的支持,确保您了解数据可能给机器学习算法带来的潜在问题。

Q: EvalML 如何处理缺失值?#

EvalML 在其流水线中包含填补组件,以便处理缺失值。EvalML 优化了不同类型的填补方法,以搜索最佳可能流水线。您可以在此处和 API 参考文档中的此处找到更多关于组件的信息。

Q: EvalML 如何处理分类编码?#

EvalML 在其流水线中为分类变量提供了独热编码组件。EvalML 计划未来支持其他编码器。

Q: EvalML 如何处理特征选择?#

EvalML 当前利用 scikit-learn 的 SelectFromModel 并结合随机森林分类器/回归器来处理特征选择。EvalML 计划未来支持更多特征选择器。您可以在 API 参考文档中的此处找到更多信息。

Q: 特征重要性如何计算?#

特征重要性取决于所使用的估计器。基于回归的估计器(逻辑回归和线性回归)使用变量系数,而基于树的估计器(随机森林和 XGBoost)使用 Gini 重要性。

Q: 超参数调优如何工作?#

EvalML 通过贝叶斯优化为其流水线调优超参数。未来我们计划支持更多优化技术,例如随机搜索。

Q: 我可以创建自己的目标指标吗?#

是的,可以!您可以创建自己的定制目标,以便 EvalML 为您的需求优化出最佳模型。

Q: EvalML 如何避免过拟合?#

EvalML 提供数据检查来应对过拟合。这些数据检查包括检测标签泄露、不稳定流水线、留出数据集和交叉验证。EvalML 默认对分类问题使用分层 K 折交叉验证,对回归问题使用 K 折交叉验证,但也允许您使用自己的交叉验证方法。

Q: 我可以为 EvalML 创建自己的流水线吗?#

是的!EvalML 允许您使用模块化组件创建定制流水线。这使得您可以根据自己的需求或 AutoML 定制 EvalML 流水线。

Q: EvalML 支持 X 算法吗?#

EvalML 正在持续改进并添加新组件,并将允许您自己的算法在我们的流水线中用作组件。