第一次用catboost训练模型时,出现报错,具体如下:
CatBoostError: Invalid type for cat_feature[non-default value idx=0,feature_idx=4]=3.0 : cat_features must be integer or string, real number values and NaN values should be converted to string.
报错信息很好理解,训练器要求我们指定的类别变量的值必须为整型或者字符串。因为在决策树中数据本身不参与计算,只是作为节点划分数据,所以统一转成字符串。
data[cat_features] = data[cat_features].astype(str)
这一步需要在划分测试集和训练集之前完成,不然还是会报错。