Y_train符号回归器的值



我将数据集分为X_trainY_trainX_testY_test,然后我使用了符号回归器...

我已经将数据帧中的字符串值转换为浮点值。 但是通过应用symbolicRegressor我得到此错误:

值错误:无法将字符串转换为浮点数:"d">

其中"d"是 Y 中的值。

由于我在Y_trainY_test中的所有值都是字母字符,因为它们是"标签",我不明白为什么symbolicRegressor试图获得浮点数..

知道吗?

根据https://gplearn.readthedocs.io/en/stable/index.html- "符号回归是一种机器学习技术,旨在识别最能描述关系的基础数学表达式"。注意mathematical。我不擅长问题的主题,gplearn的描述没有明确定义适用/限制的区域。

但是,根据源代码https://gplearn.readthedocs.io/en/stable/_modules/gplearn/genetic.html类的方法fit()BaseSymbolic包含check_X_y()sklearn.utils.validation.check_X_y()的行X, y = check_X_y(X, y, y_numeric=True)。参数y_numeris的意思是:"是否确保 y 具有数字类型。如果 y 的 dtype 是对象,则将其转换为 float64。应该只用于回归算法"。

因此y值必须是数字。

抱歉重播晚了。gplearn支持使用SymbolicRegressor估计器进行回归(数字 y(,在新发布的gplearn 0.4.0中,我们还支持使用SymbolicClassifier进行二元分类(y 中的两个标签(。不过,从听起来,您有一个多标签问题,gplearn目前不支持。这可能是我们未来希望支持的东西。

最新更新