首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python中是否存在对丢失数据的健壮的ML?

Python中是否存在对丢失数据的健壮的ML?
EN

Data Science用户
提问于 2021-04-04 02:15:22
回答 4查看 422关注 0票数 2

因此,我在搜索如何处理丢失的数据,并从机器学习掌握中发现了这个职位

本文提出了一些算法,如朴素贝叶斯和KNN等,可以使算法对丢失的数据具有鲁棒性。

当数据丢失时,并非所有的算法都会失败。有一些算法可以使其对丢失的数据具有鲁棒性,例如,当一个值丢失时,k近邻可以忽略距离度量中的列。当进行预测时,朴素贝叶斯也可以支持缺失值。

但是它说sklearn实现对于丢失的数据并不可靠。

遗憾的是,对于朴素的Bayes、决策树和k近邻的scikit学习实现对于丢失的值并不可靠。

是否有这些算法对丢失的数据具有鲁棒性的ML库(最好是Python,但也可以是其他语言)?

EN

回答 4

Data Science用户

发布于 2021-04-04 23:10:50

通常,韦卡可以处理缺少的值,这些值在.arff格式中标记为?。然而,这并不意味着Weka中的每个学习算法都有一个特定的机制来处理这些问题,不幸的是,文档在这一点上还有些欠缺。因此,据我所知,我们必须研究源代码和/或做一些实验,以便准确地了解特定类对缺失值所做的操作。

Weka是用Java编写的,但是有一个用于Python的包装器

票数 0
EN

Data Science用户

发布于 2021-04-06 21:37:50

据我所知,在scikit中支持NaN's的唯一算法--学习/ Python是通过设置以下方法来使用的HistGradientBoostingClassifier

代码语言:javascript
复制
# explicitly require this experimental feature
from sklearn.experimental import enable_hist_gradient_boosting  # noqa
# now you can import normally from ensemble
from sklearn.ensemble import HistGradientBoostingClassifier

但这仍处于试验阶段。

来自scikit-学习文档:

此估计器对缺失值(NaNs)具有本机支持。在训练过程中,树树种植者根据潜在的增益,在每个分割点上学习缺少值的样本是应该转到左边还是右边。在预测时,将丢失值的样本分配给左或右子节点。如果在培训期间没有遇到给定功能的缺失值,则会将缺少值的样本映射到具有最多样本的哪个子属性。这个实现是受LightGBM启发的。

票数 0
EN

Data Science用户

发布于 2021-04-07 10:32:11

我想补充的是,除了ML库对(更确切地说是) Nan值(例如XGBoost、kNN实现)具有很强的鲁棒性外,还有一些缺失的数据估算技术。一旦你实现了它们,你就可以尝试任何ML算法。然而,有一些是他们,你必须看看什么是最好的。作为参考,你可以看看热甲板的估算。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/92528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档