Python机器学习基础教程学习笔记(7)——朴素贝叶斯分类器

2019-10-18  本文已影响0人  neumeng

Python机器学习基础教程学习笔记(7)——朴素贝叶斯分类器

朴素贝叶斯分类器(Naive Bayesian Classifier)

朴素贝叶斯模型如此高效的原因在于:

sk-learn中实现了三种朴素贝叶斯分类器:

BernoulliNB和MultifomialNB主要用于文本数据分类。

BernoulliNB分类器计算每个类别中每个特征不为0的元素个数。

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import mglearn
# 4个数据点,每个点有4个二分特征
X = np.array([
    [0,1,0,1], # 类别0:
    [1,0,1,1], # 类别1:
    [0,0,0,1], # 类别0:
    [1,0,1,0]  # 类别1:
])
# 一共有两个类别:0和1
y = np.array([0,1,0,1])
counts = {}
# 计算每个类别中每个特征不为0的元素个数
for label in np.unique(y):
    counts[label]=X[y==label].sum(axis=0)
print("Feature counts:\n{}".format(counts))
Feature counts:
{0: array([0, 1, 0, 2]), 1: array([2, 0, 2, 1])}

优点、缺点和参数

上一篇下一篇

猜你喜欢

热点阅读