Я сейчас изучаю науку данных из учебника ( ссылка ), но я не совсем понимаю, что код пытается сказать.
Код показывает, как Наивный Байесработает, но книга не рассказывает о том, что происходит, и плохо объясняет.Часть, которую я не понимаю, является последней частью.Что представляет собой результат печати?Кажется, это вероятность, но я не совсем понимаю, как на это смотреть.
Зачем брать последние 8 вероятностей?Есть ли какая-либо причина для этого?
Я немного изменил код, чтобы использовать его на Spyder, чтобы он отличался от ссылки.
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
from sklearn.datasets import make_blobs
x, y = make_blobs(100, 2, centers=2, random_state=2, cluster_std=1.5)
plt.scatter(x[:, 0], x[:, 1], c=y, s=50, cmap='RdBu')
from sklearn.naive_bayes import GaussianNB
model = GaussianNB()
model.fit(x, y)
rng = np.random.RandomState(0)
xnew = [-6, -14] + [14, 18] * rng.rand(2000, 2)
ynew = model.predict(xnew)
plt.scatter(x[:, 0], x[:, 1], c=y, s=50, cmap='RdBu')
lim = plt.axis()
plt.scatter(xnew[:, 0], xnew[:, 1], c=ynew, s=20, cmap='RdBu', alpha=0.1)
plt.axis(lim)
yprob = model.predict_proba(xnew)
print(yprob[-8:].round(2))
Результат печати:
[[0.89 0.11]
[1. 0. ]
[1. 0. ]
[1. 0. ]
[1. 0. ]
[1. 0. ]
[0. 1. ]
[0.15 0.85]]
Любая помощь?