我已经了解过朴素的贝叶斯,它是一种分类技术算法,可以根据您提供的数据做出预测,但是在此示例中,我只是无法了解输出[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],这是什么意思?

最佳答案

请通过下面的示例代码。

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]。

python - 朴素贝叶斯如何工作-LMLPHP

关于python - 朴素贝叶斯如何工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54475792/

10-09 05:38