处理“输入包含NaN、无穷大或对于dtype(‘float64’)来说过大的值”错误的适当措施

我为LGBM机器学习准备了一个csv文件,并使用了以下代码。

X_train, X_test, y_train, y_test=train_test_split(X, y, test_size=0.2, random_state=333 )lgbm_wrapper = LGBMClassifier(n_estimators=400)evals = [(X_test, y_test)]lgbm_wrapper.fit(X_train, y_train, early_stopping_rounds=100,eval_metric="logloss", eval_set=evals, verbose=True)preds = lgbm_wrapper.predict(X_test)pred_proba = lgbm_wrapper.predict_proba(X_test)[:, 1]

但我遇到了这种问题。

/usr/local/lib/python3.7/dist-packages/sklearn/utils/validation.py in_assert_all_finite(X, allow_nan, msg_dtype)104                     msg_err.format105                     (type_err,--> 106                      msg_dtype if msg_dtype is not None elseX.dtype)107             )108     # for object dtype data, we only check for NaNs (GH-13254)ValueError: Input contains NaN, infinity or a value too large fordtype('float64').

为了解决这个问题,我首先检查了数据的类型。

Date             objectA                float64B                 int64C                 int64D                float64E                float64F                float64G                float64H                 objectdtype: object

我还预处理了X.dropna()来消除与NaN相关的值。然而,仍然出现了与float64相关的错误。我需要一点帮助。enter image description here

我的数据结构如下


回答:

在使用dropna时,你知道X.dropna()不是就地操作的,对吧?我希望你在删除NA值时使用了X = X.dropna(),并且在你从X中删除的索引上,也要从目标中删除相应的索引。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注