以下内容转自 数析学院,只节选了部分,有需要的同学可以直接查看原文
朴素贝叶斯分类是机器学习中常见的分类方法之一,今天将带大家深入学习一下 Scikit-Learn 中朴素贝叶斯分类工具包的相关使用方法。
首先,我们导入相关的库,并构建第一个示例数据集:
- %matplotlib inline
- 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');
Scikit-Learn 中的 make_blobs 方法常被用来生成聚类算法的测试数据,直观地说,make_blobs 会根据用户指定的特征数量、中心点数量、范围等来生成几类数据,这些数据可用于测试聚类算法的效果。接下来,我们导入朴素贝叶斯分类函数 GaussianNB ,构建并拟合模型:
- from sklearn.naive_bayes import GaussianNB
- model = GaussianNB()
- model.fit(X, y);
为了更清晰直观地展示模型效果,我们构建了另一组随机样本,用于观察朴素贝叶斯分类模型在二维空间中的分类边界,在这里,我们可以调用 predict 函数,来输出模型对样本点的判断结果:
- 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);
predict_proba 函数则可以输出样本被分配入每一个类别的判断概率:
- yprob = model.predict_proba(Xnew)
- yprob[-8:].round(2)
以上内容转自 数析学院,只节选了部分,后文还有介绍 文本数据集的分类案例,内容较多,先搬运到这,有需要的同学可以先直接到 数析学院 查看原文


雷达卡





特意用的代码格式,方便的话用电脑登录看下呢
京公网安备 11010802022788号







