繁体   English   中英

ValueError: Input contains NaN, infinity or a value too large for dtype('float32') 即使没有类似的东西

[英]ValueError: Input contains NaN, infinity or a value too large for dtype('float32') even though there is none that is like it

我试图将我的数据集放入 CART model,但我一直收到 ValueError:输入包含 NaN、无穷大或对于 dtype('float32') 来说太大的值。 作为一个错误。 错误问题

我已经对数据集进行了两次甚至三次检查,发现它不包含任何 NaN、无穷大或任何可以算作 NaN 的东西。 我还仔细检查了是否有任何空白,但没有。 我尝试了一切,包括这里最著名的线程,但无济于事。 我做错了什么?

编辑:

flood_tr=df.sample(frac=0.75,random_state=42)

flood_test=df.drop(flood_tr.index)

y = flood_tr['flood_height']  

mar_np = np.array(flood_tr['precipitation'])  (mar_cat, mar_cat_dict) = stattools.categorical(mar_np, drop=True, dictnames=True)   

mar_cat_pd = pd.DataFrame(mar_cat)  
X = pd.concat((flood_tr[['elev']], mar_cat_pd), axis = 1)

rfy = np.ravel(y) 

rf01 = RandomForestClassifier(n_estimators = 100, 
criterion="gini").fit(X,rfy) #<--- this is where i got the error

这是我使用的数据集https://www.kaggle.com/datasets/giologicx/aegisdataset

您的数据集的值大于 float32(单精度)。 我建议执行以下操作。

X.round(dec)

其中 dec == 小数精度介于 (2~5) 之间

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM