比尔云BierYun--阿里云最新优惠活动
阿里云优惠码丨阿里云代金券

成功解决ValueError: DataFrame.dtypes for label must be int, float or bool

成功解决ValueError: DataFrame.dtypes for label must be int, float or bool

解决问题
ValueError: DataFrame.dtypes for label must be int, float or bool

错误地址
XGBR.fit(X_train_split, y_train_split)

 

解决思路
值 错误:标签的dataframe.dtypes必须是int、float或bool。

 

解决方法
T1、增加ss_y.fit_transform()  的处理方法,再传入模型中计算。

y_train_split = ss_y.fit_transform(y_train_split) # .reshape(-1, 1)
y_test_split = ss_y.transform(y_test_split)

XGBR.fit(X_train_split, y_train_split)
大功告成!

T2、其他方法
采用LabelEncoder,可以用来规范标签也可以转换非数字标签(只要它们具有可比性)。
参考文章:python报错:使用lgb过程中报错:DataFrame.dtypes for data must be int, float or bool

from sklearn import preprocessing
lbl = preprocessing.LabelEncoder()
train_x[‘acc_id1’] = lbl.fit_transform(train_x[‘acc_id1’].astype(str))#将提示的包含错误数据类型这一列进行转换
———————
作者:一个处女座的程序猿
来源:CSDN
原文:https://blog.csdn.net/qq_41185868/article/details/92770265
版权声明:本文为博主原创文章,转载请附上博文链接!

未经允许不得转载:阿里云代金券 » 成功解决ValueError: DataFrame.dtypes for label must be int, float or bool

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

强烈推荐

高性能SSD云服务器ECS抗攻击,高可用云数据库RDS