错误:
xgboost.core.XGBoostError: ****regression_obj.cu:102: label must be in [0,1] for logistic regression
通过查看目标列Y中,发现其中有空值,然后做空值的替换。
然后尝试了下面三种方法都没有成功,还是会出现同样的错误。
df[‘Y’].replace('NaN',0,inplace=True)
df[‘Y’].fillna(0)
df[‘Y’],dropna(asix=0)
然后意识到应该是没有定位到dataframe中的空值。
说到空值想到了nan 和 null两个东西,感觉这两个应该是有区别的。然后就去baidu.com了。
然后发现:
最后使用:Y[np.isnan(Y)] = 0
,
将nan替换为0,问题解决。
np.isnan()和pd.isnull()的具体介绍:
https://blog.csdn.net/weixin_41712499/article/details/82719987