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