朴素贝叶斯高斯抛出ValueError:无法将字符串转换为float:'M'

问题描述 投票:0回答:1

将某些特征的值从整数替换为字符串后,在执行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

python python-3.x gaussian naivebayes valueerror
1个回答
0
投票

据您的问题所知,您对朴素贝叶斯算法和高斯朴素贝叶斯算法感到困惑。让我们在存在问题的情况下一个接一个地查看,

朴素贝叶斯:朴素贝叶斯或朴素贝叶斯分类器算法是关于计算具有条件独立性的事件的概率。因此,概率是使用要素中的类数来计算的。功能的输入取决于您使用的工具。

高斯朴素贝叶斯:此算法的基本假设是所有功能都是连续的。术语“高斯”是连续的。在这种算法中,我们试图与其他连续输出特征一起预测连续输出特征。因此,无论我们使用什么软件(或使用何种工具),特征都必须限制为数值(或)连续的。

由于您正在使用GaussianNB(预计这是来自ScikitLearn,所以输入特征应该是数值型

© www.soinside.com 2019 - 2024. All rights reserved.