sklearn 朴素贝叶斯分类示例
生活随笔
收集整理的這篇文章主要介紹了
sklearn 朴素贝叶斯分类示例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代碼參考?https://github.com/mbeyeler/opencv-machine-learning/blob/master/notebooks/07.01-Implementing-Our-First-Bayesian-Classifier.ipynb:
from sklearn import datasets
import numpy as np
from sklearn import model_selection as ms
import matplotlib.pyplot as plt
from sklearn import naive_bayesX, y = datasets.make_blobs(100, 2, centers=2, random_state=1701, cluster_std=2)
plt.style.use('ggplot')
plt.figure(figsize=(10, 6))
plt.scatter(X[:, 0], X[:, 1], c=y, s=50)
X_train, X_test, y_train, y_test = ms.train_test_split(X.astype(np.float32), y, test_size=0.1
)
model_naive = naive_bayes.GaussianNB()
model_naive.fit(X_train, y_train)
model_naive.score(X_test, y_test)
yprob = model_naive.predict_proba(X_test)
yprob.round(2)def plot_proba(model, X_test, y_test):# create a mesh to plot inh = 0.02 # step size in meshx_min, x_max = X_test[:, 0].min() - 1, X_test[:, 0].max() + 1y_min, y_max = X_test[:, 1].min() - 1, X_test[:, 1].max() + 1xx, yy = np.meshgrid(np.arange(x_min, x_max, h),np.arange(y_min, y_max, h))X_hypo = np.column_stack((xx.ravel().astype(np.float32),yy.ravel().astype(np.float32)))if hasattr(model, 'predictProb'):_, _, y_proba = model.predictProb(X_hypo)else:y_proba = model.predict_proba(X_hypo)zz = y_proba[:, 1] - y_proba[:, 0]zz = zz.reshape(xx.shape)plt.contourf(xx, yy, zz, cmap=plt.cm.coolwarm, alpha=0.8)plt.scatter(X_test[:, 0], X_test[:, 1], c=y_test, s=200)plt.figure(figsize=(10, 6))
plot_proba(model_naive, X, y)
plt.show()
運算結果如下:
?
總結
以上是生活随笔為你收集整理的sklearn 朴素贝叶斯分类示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenCV 贝叶斯分类器示例
- 下一篇: OpenCV 多层感知器训练代码示例