首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SMOTE过采样ValueError:输入包含NaN、无穷大或对dtype太大的值(“float64”)

SMOTE过采样ValueError:输入包含NaN、无穷大或对dtype太大的值(“float64”)
EN

Stack Overflow用户
提问于 2022-03-13 12:43:31
回答 1查看 465关注 0票数 0

在培训之前,我尝试过采样我的数据集,但是我得到了这个错误"ValueError: Input包含NaN,无穷大或值过大,以至于dtype('float64'“),即使没有NAN值。

这是给出错误的代码

代码语言:javascript
运行
复制
sm = SMOTE(random_state=42)
X_res, y_res = sm.fit_resample(X, y)
y_res = pd.DataFrame(y_res)
print(y_res[0].value_counts())

这就是我所犯的错误

代码语言:javascript
运行
复制
ValueError                                Traceback (most recent call last)
<ipython-input-18-001a5445f47a> in <module>()
  1 sm = SMOTE(random_state=42)
----> 2 X_res, y_res = sm.fit_resample(X, y)
  3 y_res = pd.DataFrame(y_res)
  4 print(y_res[0].value_counts())

3 frames
/usr/local/lib/python3.7/dist-packages/sklearn/utils/validation.py in _assert_all_finite(X, 
allow_nan, msg_dtype)
114             raise ValueError(
115                 msg_err.format(
--> 116                     type_err, msg_dtype if msg_dtype is not None else X.dtype
117                 )
118             )

ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
EN

回答 1

Stack Overflow用户

发布于 2022-04-07 12:37:07

这一行代码可以工作,但请记住,它将将您的空值和无限值更改为0:

代码语言:javascript
运行
复制
df = df.replace((np.inf, -np.inf, np.nan), 0).reset_index(drop=True)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71456866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档