微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我应该如何在Finance DF中处理NaN值?

如何解决我应该如何在Finance DF中处理NaN值?

我是机器学习的初学者,我的意思是..我应该如何对“ OECDSTInterbkRate”列进行编码?我不知道如何替换缺少的值,尤其是用什么替换。我应该删除它们吗?还是将其替换为值的平均值/中位数?

1

解决方法

解决此问题的方法很多。

  • 最简单:如果您有大量数据,请丢弃NaN。
  • 用整个非NaN数据集或按一列或几列分组的数据集的均值/中位数/等替换NaN。例如。对于您的数据集,您可以用澳大利亚非NaN的平均值填充澳大利亚NaN。其他国家也一样。
  • 一种常见的方法是在插补NaN之后创建另一个指标列,该指标列将缺失数据替换为值的索引保持不变。然后,此列将作为您的ML算法的又一输入。
  • 看一下文档(假设您使用的是Pandas)-库的开发人员已经为丢失的数据创建了一些工具:https://pandas.pydata.org/pandas-docs/stable/user_guide/missing_data.html
,

您的问题没有具体答案,这是统计中的普遍问题,称为“输入”。取决于应用程序,答案可能有很多。

首先想到的是解决您的问题的几种替代方法,但请不要忘记,“没有数据”几乎总是比“坏/错误的数据”要好。 如果您有足够多的行而没有带有NaN的行,则可以将其删除。否则,您可以考虑以下内容:

  1. 您可以通过数学方式计算出数据集中已有的其他列所需的列吗?如果是这样,您就有答案了。
  2. 通过将特定列的非缺失值行与其他列相关联来检查其相关性,并查看它们是否高度相关。如果是这样,您不妨尝试删除整个列(可能并不总是一个好主意,但通常是个好主意)。
  3. 是否可以创建一个估计器(例如回归模型)来通过使用已经拥有的值学习模式并通过使用其他具有非常好的准确性的列来预测缺失值?好吧,您可能会有一个答案(需要使用以下基准进行测试)。请记住,这是一个非常冒险的操作,可能会给出错误的估计并降低整体模型的性能。仅当您的估计确实很好时,才尝试此操作!
  4. 这是回归问题吗?使用统计平均值可能是个好主意。
  5. 这是分类问题吗?使用中位数可能是个好主意。
  6. 在某些情况下,根据分布情况,使用模式可能也是一个好主意。

我建议您尝试所有方法,看看哪种方法更好,因为对于您的问题确实没有具体的答案。您可以创建机器学习模型而无需使用该列,而将其性能用作基线,并针对与基线相比的所有步骤执行性能(准确性)基准测试。

注意:我只是一位有一定见识的研究生,如果我所说的内容不正确,请予以注释!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。