朴素贝叶斯如何工作

时间:2019-02-01 08:41:29

标签: python scikit-learn statistics naivebayes

我已经了解过朴素的贝叶斯,它是一种分类技术算法,可以根据您提供的数据做出预测,但是在此示例中,我只是无法确定输出[3,4]的来源。

以下为示例:

#assigning predictor and target variables
x= np.array([[-3,7],[1,5], [1,2], [-2,0], [2,3], [-4,0], [-1,1], [1,1], [-2,2], [2,7], [-4,1], [-2,7]])
Y = np.array([3, 3, 3, 3, 4, 3, 3, 4, 3, 4, 4, 4]

#Create a Gaussian Classifier
model = GaussianNB()

# Train the model using the training sets 
model.fit(x, y)

#Predict Output 
predicted= model.predict([[1,2],[3,4]])
print predicted

Output: ([3,4])

任何人都可以解释在这种情况下[3,4]是如何生成的,这是什么意思?

1 个答案:

答案 0 :(得分:0)

请仔细阅读下面的示例代码。

from sklearn.naive_bayes import GaussianNB
import numpy as np

model = GaussianNB()
#assigning predictor and target variables
x= np.array([[-3,7],[1,5], [1,2], [-2,0], [2,3], [-4,0], [-1,1], [1,1], [-2,2], [2,7], [-4,1], [-2,7]])
Y = np.array([3, 3, 3, 3, 4, 3, 3, 4, 3, 4, 4, 4])
print x

model.fit(x, Y)

#Predict Output 
predicted= model.predict([[1,2],[35,6], [2,6]])
print predicted

输出:

[3 4 4]

这里我们有3个值。 3对应于[1,2],4对应于[35,6],依此类推。

因此,根据样本量,您可以看到得到3或4的值。因此,根据测试数据,它会为您的测试数据提供[3,4]。希望这可以澄清。

例如,从您的代码中,我只输入前3个条目。您可以看到下面的图表。 X_1和X_2是特征向量(输入),Y是您的输出。基于输入和输出,该算法生成一个数学公式。当您提供测试数据时,它使用相同的公式来生成输出(Y)。这就是您获得[3,4]的方式。

enter image description here