当我注意到某些值具有“?”时,我试图为我的数据获取虚拟值 作为他们的价值。由于我的数据中有很多行都有这些值,我根本无法删除它们。在这种情况下,我应该用什么替换它们?只是采取类别的模式会有所帮助吗?另外,我试图替换 ? 值与模式。
df1 = df1[df1.workclass == '?'].replace('?',"Private")
但我现在得到一张空桌子。
当我注意到某些值具有“?”时,我试图为我的数据获取虚拟值 作为他们的价值。由于我的数据中有很多行都有这些值,我根本无法删除它们。在这种情况下,我应该用什么替换它们?只是采取类别的模式会有所帮助吗?另外,我试图替换 ? 值与模式。
df1 = df1[df1.workclass == '?'].replace('?',"Private")
但我现在得到一张空桌子。
这取决于数据集。有不同的方法适用于不同的功能。有些可能只需要用模式替换。在某些情况下,还会使用不同的 ML 算法和模型,例如随机森林、KNN 等。因此这完全取决于您正在处理的数据类型。探索数据探索领域。也许这可以帮助你。
您将不得不手动检查不同的变量并决定如何处理每个参数的缺失。例如:您可以删除缺失> 50 pc的变量,除非它们表明证据的权重非常高。一些变量可以用集中趋势代替,或者也可以预测。分类可以用 UNK(未知)等替换。