成功解决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))#将提示的包含错误数据类型这一列进行转换