我是数据科学领域的新手,在练习进行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)
然后处理空值。
但是,在进行任何计算之前,了解为什么有无穷大/零值以及如何避免它是一个很好的做法。