# -*-coding:utf-8-*-
'''
朴素贝叶斯算法
'''
from __future__ import division
global className
className = "class"
def calc_class(train, classValue):
# 计算分类的概率
_num_cls = 0
_num_trains = len(train)
for t in train:
if t[className] == classValue:
_num_cls += 1
return _num_cls / _num_trains
def calc_attr(train, classValue, attrName, attrValue):
# 计算属性的概率
_num_cls = 0
_num_attr = 0
for a in train:
if a[className] == classValue:
_num_cls += 1
if a[attrName] == attrValue:
_num_attr += 1
if _num_attr == 0:
_num_attr = 1
return _num_attr / _num_cls
def bayes(train, test, classY, classN):
_prob_Y = calc_class(train, classY)
_prob_N = calc_class(
Python实现朴素贝叶斯分类器
最新推荐文章于 2024-08-06 11:08:19 发布
该博客详细介绍了如何用Python实现朴素贝叶斯分类器。通过计算训练数据中不同类别的概率以及特定属性在各类别下的出现概率,来预测测试数据的类别。示例代码展示了基于天气特征(如 outlook、temp、humidity 和 wind)进行分类的过程。
摘要由CSDN通过智能技术生成