Python 如何将我的数据用于sklearn.naive_bayes.GaussianNB

Python 如何将我的数据用于sklearn.naive_bayes.GaussianNB,python,machine-learning,scikit-learn,naivebayes,Python,Machine Learning,Scikit Learn,Naivebayes,我试图了解naivebayes的工作原理,并希望使用sklearn.naivebayes.GaussianNB创建一些示例。 我有一个数据: [ [1, 0], [1, 1], [0, 1], // ... ]; 其中[[1,0]]第一个数字是宠物的类型:猫或狗,第二个数字:浅色或深色有宠物。之后,我想给出一个类似于[0,0,1]的列表,它表示一种颜色并预测宠物的类型 我试着用我的例子。我重写了这个: import numpy as np X = np.array([[-1, -1], [-2

我试图了解
naivebayes
的工作原理,并希望使用
sklearn.naivebayes.GaussianNB
创建一些示例。 我有一个数据:

[
[1, 0],
[1, 1],
[0, 1],
// ...
];
其中
[[1,0]]
第一个数字是宠物的类型:猫或狗,第二个数字:浅色或深色有宠物。之后,我想给出一个类似于[0,0,1]的列表,它表示一种颜色并预测宠物的类型

我试着用我的例子。我重写了这个:

import numpy as np
X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
Y = np.array([1, 1, 1, 2, 2, 2])
致:

但是在我的例子中,应该用什么来代替Y=np.array([1,1,1,2,2])


或者我应该用另一种格式保存数据?

您的
Y
应该是一个一维的“类标签”数组

对于数据集中的每个元素
X
,在
Y
中有一个元素给出分类,例如狗的
0
,猫的
1

看起来您已经将类标签作为第一个元素包含在
X
中,您可能希望将它们分成
Y

由于分类的简单性和数据集的特性,GaussianNB似乎有点过分,但我知道您只是在探索这个概念

import numpy as np
X = np.array([ [1, 0], [1, 1], [0, 1] ])