朴素贝叶斯的python实现

本文介绍如何使用Python实现朴素贝叶斯分类,特别是针对离散型变量的分类问题。作者通过UCI数据集上的car数据进行示例,详细代码已给出。对于理论部分,建议查阅相关文章。

之前都在写关于R的一些内容,最近研究朴素贝叶斯比较多,就来更一个python的方法实现朴素贝叶斯吧,更的内容是关于离散型变量的分类,利用UCI数据集上的car数据来做,至于理论部分,请观看我的另一篇文章,>https://blog.csdn.net/heirenmin/article/details/94611260
直接上代码,有什么问题,请在下方留言:

#coding:utf-8
#朴素贝叶斯算法   贝叶斯估计
import pandas as pd
import numpy as np

class NavieBayesB(object):
    
    def getTrainSet(self):
        trainSet = pd.read_csv("C://Users//MrDavid//Data_MS//car.csv")
        trainSetNP = np.array(trainSet)     #由dataframe类型转换为数组类型
        trainData = trainSetNP[:,0:trainSetNP.shape[1]-1]     #训练数据集
        labels = trainSetNP[:,trainSetNP.shape[1]-1]          #训练数据所对应的所属类型Y
        return trainData, labels

    def classify(self, trainData, labels, features):
        labels = list(labels)    #转换为list类型
        #求先验概率
        P_y = {}
        for label in labels:
            P_y[label] = (labels.count(label) ) / float(len(labels) )

        #求条件概率
        P = {}
        for y in P
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值