在培训之前,我尝试过采样我的数据集,但是我得到了这个错误"ValueError: Input包含NaN,无穷大或值过大,以至于dtype('float64'“),即使没有NAN值。
这是给出错误的代码
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())
这就是我所犯的错误
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').
发布于 2022-04-07 12:37:07
这一行代码可以工作,但请记住,它将将您的空值和无限值更改为0:
df = df.replace((np.inf, -np.inf, np.nan), 0).reset_index(drop=True)
https://stackoverflow.com/questions/71456866
复制相似问题