输入包含 NaN、无穷大或执行 KMean 函数时对于 dtype('float64') 来说太大的值



我是数据科学领域的新手,在练习进行KMeans聚类时,我遇到了这个错误:输入包含NaN、无穷大或对dtype来说太大的值('float64'(。

显然,我的重新编码无法正常工作,因为它将我的0变成0.0/1变成1.0等等。这就是为什么sklearn中的函数KMean无法工作的原因?

如果重新编码aka映射失败

sklearn KMean在失败的地方

您需要确保您的数据没有任何null无穷大值。

你可以做:

x.isnull().sum()

查看是否存在空值。如果总和大于1,这意味着至少有一个空值。你可以使用fillna方法治疗它们:

x = x.fillna(value=value_you_want_to_fill_nulls)

有关完整文档,请阅读:熊猫文档

此外,另一个问题可能是一个无限值:

np.isinf(x).sum()
# the same logic for null values
# to treat infinity you can do:
x = x.replace([np.inf, -np.inf], np.nan)

然后处理空值。

但是,在进行任何计算之前,了解为什么有无穷大/零值以及如何避免它是一个很好的做法。

相关内容

最新更新