Значения Y_train для symbolicRegressor - PullRequest
       78

Значения Y_train для symbolicRegressor

0 голосов
/ 18 сентября 2018

Я разделил свой набор данных на X_train, Y_train, X_test и Y_test, а затем я использовал symbolicRegressor ...

Я уже преобразовал строковые значения из Dataframe в значения с плавающей запятой. Но, применяя symbolicRegressor, я получаю эту ошибку:

ValueError: не удалось преобразовать строку в число с плавающей точкой: 'd'

Где 'd' - это значение от Y.

Поскольку все мои значения в Y_train и Y_test являются буквенными символами, поскольку они являются "метками", я не могу понять, почему symbolicRegressor пытается получить число с плавающей запятой ..

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 25 апреля 2019

Извините за поздний повтор. gplearn поддерживает регрессию (числовое y) с помощью оценки SymbolicRegressor, а с недавно выпущенным gplearn 0.4.0 мы также поддерживаем двоичную классификацию (две метки в y) с использованием SymbolicClassifier. Судя по всему, у вас есть проблема с несколькими метками, которую gplearn в настоящее время не поддерживает. Это может быть что-то, что мы надеемся поддержать в будущем.

0 голосов
/ 18 сентября 2018

Согласно https://gplearn.readthedocs.io/en/stable/index.html - «Символическая регрессия - это метод машинного обучения, целью которого является определение основного математического выражения, которое наилучшим образом описывает отношения». Обратите внимание на mathematical. Я не очень хорош в теме вопроса, и описание gplearn не дает четкого определения области применимости / ограничений.

Однако согласно исходному коду https://gplearn.readthedocs.io/en/stable/_modules/gplearn/genetic.html метод fit() класса BaseSymbolic содержит строку X, y = check_X_y(X, y, y_numeric=True), где check_X_y() равно sklearn.utils.validation.check_X_y(). Аргумент y_numeris означает: «Гарантировать, что y имеет числовой тип. Если dtype для y является объектом, он преобразуется в float64. Должен использоваться только для алгоритмов регрессии».

Значения y должны быть числовыми.

...