Как работает Наивный Байес - PullRequest
0 голосов
/ 01 февраля 2019

Я уже читал о наивных методах байесов, что это алгоритм методики классификации, и он может делать предикаты на основе данных, которые вы предоставляете, но в этом примере я просто не могу понять, как получился вывод [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 голосов
/ 01 февраля 2019

Пожалуйста, пройдите ниже пример кода.

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

...