javaee论坛

普通会员

225648

帖子

334

回复

348

积分

楼主
发表于 2019-10-30 09:45:22 | 查看: 1598 | 回复: 1

成功解决ValueError:DataFrame.dtypesforlabelmustbeint,floatorbool

 

 

 

 

 

目录

解决问题

解决思路

解决方法

T1、增加ss_y.fit_transform() 的处理方法

T2、其他方法

 

 

 

 

 

解决问题

ValueError:DataFrame.dtypesforlabelmustbeint,floatorbool

错误地址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.dtypesfordatamustbeint,floatorbool

fromsklearnimportpreprocessinglbl=preprocessing.LabelEncoder()train_x['acc_id1']=lbl.fit_transform(train_x['acc_id1'].astype(str))#将提示的包含错误数据类型这一列进行转换

 

 

 

 

 

 

 


普通会员

0

帖子

320

回复

330

积分
沙发
发表于 2023-09-17 10:38:15

还是很厉害的

您需要登录后才可以回帖 登录 | 立即注册

触屏版| 电脑版

技术支持 历史网 V2.0 © 2016-2017