Наивный байесовский гауссовский бросок ValueError: не удалось преобразовать строку в число с плавающей точкой: 'M' - PullRequest
1 голос
/ 03 октября 2019

После замены значений некоторых функций из целого числа в строку, я получаю ошибку после команды fit ():

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

replace_val_sex = {0:'F', 1:'M'}
df = df.replace({"Sex": replace_val_sex})
.
.
.
GNB = GaussianNB().fit(x_train, y_train)
<ERROR>

Примечание. Этого не произошло, когда я не заменил значения.

Blockquote

1 Ответ

1 голос
/ 03 октября 2019

Как я понял из вашего вопроса, вы путаетесь между наивным байесовским алгоритмом и гауссовым наивным байесовским алгоритмом. Давайте рассмотрим один за другим в контексте нашей проблемы,

Наивный байесовский алгоритм: Наивный байесовский алгоритм или алгоритм наивного байесовского классификатора - это расчет вероятностей событий с условной независимостью. Таким образом, вероятности рассчитываются с использованием количества классов в функции. Эти входные данные для объектов зависят от используемого вами инструмента.

Наивный байесовский метод Гаусса: основное предположение для этого алгоритма состоит в том, что все объекты являются непрерывными. Термин «гауссовский» является синонимом непрерывного. В этом алгоритме мы пытаемся предсказать функцию непрерывного вывода с другой функцией непрерывного вывода. Таким образом, независимо от программного обеспечения (или) инструмента, который мы используем, функции ограничены, чтобы быть числовыми (или) непрерывными.

Поскольку вы используете GaussianNB (ожидайте, что это от ScikitLearn), функция ввода должна быть числовой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...