我已经了解了朴素贝叶斯,它是一种分类技术算法,可以根据您提供的数据进行预测,但在这个示例中我只是无法了解输出 [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]。
我是一名优秀的程序员,十分优秀!