我试图在Python中实现朴素的Bayes分类器。我的属性有不同的数据类型:字符串、Int、浮点数、布尔值、序号。
我可以使用高斯朴素贝叶斯分类器(Sklearn.naivebayes : package),但我不知道如何处理不同的数据类型。分类器引发错误,声明不能处理除Int或float以外的其他数据类型。
我可能想到的一种方法是将字符串编码成数字值。但我也怀疑,如果我这样做,分类器会有多好。
发布于 2015-06-19 12:51:59
是的,您将需要将字符串转换为数值--朴素贝叶斯分类器无法处理字符串,因为字符串无法进入数学方程。
如果您的字符串有一些“标量值”--例如“大、中、小”--您可能希望将它们归类为"3,2,1",但是,如果您的字符串是没有顺序的东西,例如颜色或名称,您可以这样做,或者为引用颜色或名称的每个变量分配二进制变量,如果它们不是很多的话。
例如,如果您对汽车进行分类,它们可以是红色、蓝色和绿色,您可以定义变量' red‘' blue’' green‘,其值为0/1,这取决于您汽车的颜色。
发布于 2016-06-28 08:51:22
不要手动转换数据类型,而是使用dict矢量化。
https://stackoverflow.com/questions/30937667
复制相似问题