![](/img/trans.png)
[英]sklearn error 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.