我是数据科学领域的新手,在尝试进行KMeans聚类时,我遇到了这个错误:输入包含NaN,无穷大或对于dtype('float64')而言太大的值。
显然,我的编码无法正常工作,因为它将我的0转换为0.0 / 1转换为1.0等。这就是为什么sklearn的KMean功能无法工作的原因?
您需要确保您的数据没有任何空无穷大值。
您可以做:
x.isnull().sum()
看看是否有空值。如果总和大于1,则意味着至少有一个空值。您可以使用fillna方法对待它们:
x = x.fillna(value=value_you_want_to_fill_nulls)
有关完整文档,请阅读:pandas-documentation
另外,另一个问题可能是一个无穷大的值:
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)
然后处理空值。
但是,在进行任何计算之前,先了解为什么要使用无穷大/ null值以及如何避免它是一种好习惯。