机器学习之朴素贝叶斯

DNN简介——西瓜数据集案例 最左边的是输入层,最右边的是输出层,中间是多个隐含层,输入层开始,从左往右计算,逐层往前直到输出层产生结果。如果结果值和目标值有差距,再从右往左算,逐层向后计算每个节点的误差,并且调整每个节点的所有权重,反向到达输入层后,又重新向前计算,重复迭代以上步骤,直到所有权重参数收敛到一个合理值。全连接神经网络(DNN)是一种多层无监督神经网络,并且将上一层的输出特征作为下一层的输入进行特征学习,通过逐层特征映射后,将现有空间样本的特征映射到另一个特征空间,以此来学习对现有输入具有更好的特征表达。 阅读详情

目录

一.朴素贝叶斯

1.朴素贝叶斯的概念

2.条件概率

3.朴素贝叶斯分类器

4.优缺点

二.例子

1.小明做作业

2.拉普拉斯平滑技巧

三.利用朴素贝叶斯进行西瓜分类

1.创建本次所要用到的西瓜数据集及其特征还有测试集

2.计算先验概率P(好瓜)、P(坏瓜)输出结果并返回

3.计算各个特征值的后验概率

4.对测试集进行计算并分类

5.拉普拉斯平滑技巧修正

四.总结


一.朴素贝叶斯

1.朴素贝叶斯的概念

        朴素贝叶斯(Naive Bayes)是一种基于贝叶斯定理和特征条件独立假设的分类方法。朴素贝叶斯分类器基于一个强假设:给定类别下,特征之间相互独立。这个假设在现实中往往不成立,但在很多情况下,朴素贝叶斯分类器依然能够取得很好的分类效果。

         朴素贝叶斯是贝叶斯决策理论的一部分,所以讲述朴素贝叶斯之前有必要快速了解一下贝叶斯决策理论。假设现在我们有一个数据集,它由两类数据组成,数据分布如下图所示:

        我们现在用p1(x,y)表示数据点(x,y)属于类别1(图中用圆点表示的类别)的概率,用p2(x,y)表示数据点(x,y)属于类别2(图中用三角形表示的类别)的概率,那么对于一个新数据点(x,y),可以用下面的规则来判断它的类别:

        如果 p1(x,y) > p2(x,y),那么类别为1;如果 p2(x,y) > p1(x,y),那么类别为2。
        也就是说,我们会选择高概率对应的类别。这就是贝叶斯决策理论的核心思想,即选择具有 最高概率的决策。

2.条件概率

        在了解贝叶斯定理之前,先对条件概率有一个初步的认识

        已知两个独立事件A和B,事件B发生的前提下,事件A发生的概率可以表示为P(A|B),即:

P(A|B)=\frac{P(AB)}{P(B)}

        那么同理,我们也可以得到在事件A发生的前提下,事件B发生的概率公式为:

P(B|A)=\frac{P(AB)}{P(A)}

        那么将P(AB)利用条件概率公式进行变换后,就可以得到著名的贝叶斯定理公式为:

P(A|B)=\frac{P(B|A)P(A)}{P(B)}

3.朴素贝叶斯分类器

先验概率P(X):通常是指根据以往的经验和分析得到的概率,表示事件X所发生的概率

后验概率P(Y|X):表示在事件X发生的情况下,事件Y发生的概率,可通过条件概率公式求出

后验概率P(X|Y):表示在事件Y发生的情况下,事件X发生的概率

朴素:朴素贝叶斯算法是假设各个特征之间相互独立,那么贝叶斯公式中的分子可写成如下形式:

P(X|Y)=P(X1|Y)P(X2|Y)...P(Xn|Y)

4.优缺点

利用朴素贝叶斯分类器实现分类有什么优缺点:

优点:(1)模型简单,易于实现 (2)分类速度快 (3)在文本分类等领域表现出色

          (4)对缺失数据不太敏感 (5)对多类别分类问题效果好

缺点:(1)特征独立性假设:朴素贝叶斯分类器假设所有特征之间是相互独立的,这在现实中往往不成立。当特征之间存在较强的相关性时,朴素贝叶斯分类器的性能会受到影响

          (2)对输入数据的表达形式敏感 (3)对参数估计敏感 (4)对不平衡数据集敏感

          (5)对于非数值型数据需要预处理

二.例子

1.小明做作业

        下面通过一个例子更好的理解朴素贝叶斯算法

        (1)假设有一个人名叫小明,有一天老师留了一道作业题,但是作业的题目非常难,小明便打算给30个同学发求助消息。这30个回复中,既有作业答案,也有对小明的深情告白。其中小明能分辨的,其中有16份作业答案,还有13份情书,唯独有一个同学的回复小明看不懂。于是小明想通过消息中的关键词来给这一份未知的回复进行分类,看看到底是作业还是情书(所要解决的问题)。

        (2)首先我们假设小明收到的消息中有如下这四个关键词(即特征):喜欢、明天、红豆、辛苦,同时,我们可以知道,P(作业)=\frac{16}{29},P(情书)=\frac{13}{29}并且每个关键词在作业和情书的出现的次数如下:

        (3)所以我们可以根据以上的数据计算出相应的条件概率如下:

P(喜欢|作业)=\frac{3}{15}       P(明天|作业)=\frac{4}{15}        P(红豆|作业)=\frac{2}{15}        P(辛苦|作业)=\frac{6}{15}

P(喜欢|情书)=\frac{8}{14}       P(明天|情书)=\frac{2}{14}        P(红豆|情书)=\frac{4}{14}        P(辛苦|情书)=\frac{0}{14}

        (4)假设这份未知的回复中包含红豆和喜欢这两个关键词,所以通过计算:

        假设回复是作业的正确概率为:P(作业)P(红豆|作业)P(喜欢|作业)=0.0147        (P1)

        假设回复是情书的正确概率为:P(情书)P(红豆|情书)P(喜欢|情书)=0.0731        (P2)

即:P2>P1,小明得出结论,这份未知的回复确认为情书,问题得以解决,这就是朴素贝叶斯法,但有时算法的计算会出现问题。(往下看)

2.拉普拉斯平滑技巧

        (1)假设有一段卑微的告别是这样写的:

        (2)按照算法计算正确程度:

        是作业的正确概率为:P(作业)P(辛苦|作业)P(喜欢|作业)^3=0.00176        (P1)

        是情书的正确概率为:P(情书)P(辛苦|情书)P(喜欢|情书)^3=0.00000        (P2)

因为在情书中没有辛苦这个关键词出现过,导致P2的计算结果为0,算法会把信息判断为作业。因此,为了解决这一问题,我们可以使用拉普拉斯平滑技巧。

        (3)人为在每一个关键词上增加一个出现的次数,如下:

        (4)重新计算各个条件概率如下:

P(喜欢|作业)=\frac{4}{19}       P(明天|作业)=\frac{5}{19}        P(红豆|作业)=\frac{3}{19}        P(辛苦|作业)=\frac{7}{19}

P(喜欢|情书)=\frac{9}{18}       P(明天|情书)=\frac{3}{18}        P(红豆|情书)=\frac{5}{18}        P(辛苦|情书)=\frac{1}{18}

        (5)再根据算法重新计算:

        是作业的正确概率为:P(作业)P(辛苦|作业)P(喜欢|作业)^3=0.00189        (P1)

        是情书的正确概率为:P(情书)P(辛苦|情书)P(喜欢|情书)^3=0.00311        (P2)

所以:P2>P1,这是一封情书,这就是拉普拉斯平滑技巧。

三.利用朴素贝叶斯进行西瓜分类

1.创建本次所要用到的西瓜数据集及其特征还有测试集

def createdataset():
    #数据集
    dataset = [
        ['青绿', '蜷缩', '浊响', '清晰', '凹陷', '硬滑', '好瓜'],
        ['乌黑', '蜷缩', '沉闷', '清晰', '凹陷', '硬滑', '好瓜'],
        ['乌黑', '蜷缩', '浊响', '清晰', '凹陷', '硬滑', '好瓜'],
        ['青绿', '蜷缩', '沉闷', '清晰', '凹陷', '硬滑', '好瓜'],
        ['浅白', '蜷缩', '浊响', '清晰', '凹陷', '硬滑', '好瓜'],
        ['青绿', '稍蜷', '浊响', '清晰', '稍凹', '软粘', '好瓜'],
        ['乌黑', '稍蜷', '浊响', '稍糊', '稍凹', '软粘', '好瓜'],
        ['乌黑', '稍蜷', '浊响', '清晰', '稍凹', '硬滑', '好瓜'],
        ['乌黑', '稍蜷', '沉闷', '稍糊', '稍凹', '硬滑', '坏瓜'],
        ['青绿', '硬挺', '清脆', '清晰', '平坦', '软粘', '坏瓜'],
        ['浅白', '硬挺', '清脆', '模糊', '平坦', '硬滑', '坏瓜'],
        ['浅白', '蜷缩', '浊响', '模糊', '平坦', '软粘', '坏瓜'],
        ['青绿', '稍蜷', '浊响', '稍糊', '凹陷', '硬滑', '坏瓜'],
        ['浅白', '稍蜷', '沉闷', '稍糊', '凹陷', '硬滑', '坏瓜'],
        ['乌黑', '稍蜷', '浊响', '清晰', '稍凹', '软粘', '坏瓜'],
        ['浅白', '蜷缩', '浊响', '模糊', '平坦', '硬滑', '坏瓜'],
        ['青绿', '蜷缩', '沉闷', '稍糊', '稍凹', '硬滑', '坏瓜']
    ]
    #测试集
    testset=[['青绿','蜷缩','沉闷','清晰','凹陷','硬滑'],['乌黑','硬挺','清脆','清晰','稍凹','硬滑']]
    # 特征值列表
    labels = ['色泽', '根蒂', '敲击', '纹理', '脐部', '触感']
    return dataset,testset,labels

2.计算先验概率P(好瓜)、P(坏瓜)输出结果并返回

1>代码:

def calpriority(dataset):
    #计算好瓜和怀瓜的数量
    total_count = len(dataset)
    good_melon = 0
    bad_melon = 0
    for sample in dataset:
        if sample[-1] == '好瓜':
            good_melon += 1
        else:
            bad_melon += 1
    p_good = good_melon/total_count
    p_bad = bad_melon/total_count
    print(f"P(好瓜)={p_good:.4f}")
    print(f"P(坏瓜)={p_bad:.4f}")
    return p_good,p_bad

2>计算的结果:

3.计算各个特征值的后验概率

1>代码:

def calposterior(dataset):
    #将原数据集划分为好瓜和坏瓜数据集
    good_dataset = [sample for sample in dataset if sample[-1] == '好瓜']
    bad_dataset = [sample for sample in dataset if sample[-1] == '坏瓜']
    #计算好瓜中的各个特征的后验概率(即条件概率)
    good_length = len(good_dataset)
    good_result = {}
    #统计个数并计算结果
    for sample in good_dataset:
        for word in sample:
            if word not in ['好瓜']:
                if word not in good_result:
                    good_result[word] = 1
                else:
                    good_result[word] += 1
    for word,count in good_result.items():
        good_result[word] = count/good_length
    for word,count in good_result.items():
        print(f"P({word}|好瓜):{count:.3f}")
    #计算坏瓜中的各个特征的后验概率(即条件概率)
    bad_length = len(bad_dataset)
    bad_result = {}
    #统计个数并计算结果
    for sample in bad_dataset:
        for word in sample:
            if word not in ['坏瓜']:
                if word not in bad_result:
                    bad_result[word] = 1
                else:
                    bad_result[word] += 1
    for word,count in bad_result.items():
        bad_result[word] = count/bad_length
    for word,count in bad_result.items():
        print(f"P({word}|坏瓜):{count:.4f}")
    return good_result,bad_result,good_dataset,bad_dataset

2>好瓜数据集中的各个特征值的后验概率计算结果:

3>坏瓜数据集中的各个特征值的后验概率计算结果:

4.对测试集进行计算并分类

1>代码:

def calresult(testset, pgood, pbad, good_if, bad_if):
    count1=0
    for each in testset:
        count1 += 1
        calgood = pgood
        calbad = pbad
        for sample in each:
            # 计算测试集为好瓜的概率
            flag = 0
            for word,count in good_if.items():
                if sample == word:
                    flag = 1
                    calgood *= count
                    break
            if flag == 0 :
               calgood *= 0
            # 计算测试集为好瓜的概率
            flag1 = 0
            for word,count in bad_if.items():
                if sample == word:
                    flag1 = 1
                    calbad *= count
                    break
            if flag1 == 0 :
               calbad *= 0
        print(f"计算得出该第{count1}个测试集为好瓜的概率为:{calgood:.4f}")
        print(f"计算得出该第{count1}个测试集为坏瓜的概率为:{calbad:.4f}")
        if calgood > calbad:
            print(f"通过朴素贝叶斯计算得出,第{count1}个测试集的预测结果为:好瓜")
        else:
            print(f"通过朴素贝叶斯计算得出,第{count1}个测试集的预测结果为:坏瓜")

2>计算结果截图:

3>结果分析:

        由结果可知,第一个测试集所计算的分类的结果是没有错误的。因为第一个测试集中的每一个特征在好瓜和坏瓜中均有分布,因此不会计算得出0的结果;而第二个测试集因为'硬挺'和'清脆'这两个特征在好瓜数据集中均没有分布,因此P(硬挺|好瓜)=P(清脆|好瓜)=0,而导致计算得出第二个测试集为好瓜的概率为0,因此要用到拉普拉斯平滑技巧进行修正

5.拉普拉斯平滑技巧修正

1>修正好瓜中的条件概率代码:

def revision( dataset, good_dataset):
    length = len(good_dataset)
    length2 = length + 3
    for word,count in dataset.items():
        if word in ['蜷缩','稍蜷']:
            dataset[word] = count * length / length2
        if word in ['浊响','沉闷']:
            dataset[word] = count * length / length2
    dataset['硬挺'] = 1 / length2
    dataset['清脆'] = 1 / length2
    print("更正后好瓜数据集中的条件概率:")
    for word, count in dataset.items():
        print(f"P({word}|好瓜):{count:.4f}")
    return dataset

2>修正后的条件概率的结果如下:

3>计算结果:

未修正:

修正后:

4>结果分析:

        由结果分析可知,计算得出第二个测试集为好瓜的概率已经不为0,修正成功

四.总结

        在本次机器学习的实验中,我采用了朴素贝叶斯算法进行分类任务。朴素贝叶斯基于特征之间的条件独立性假设,通过计算各特征属于不同类别的概率来进行预测。实验过程中,我准备了训练数据集和测试数据集,利用训练集学习模型参数,并使用测试集评估模型性能。

        在整个实验流程中,我学会了如何对相应的先验概率以及后验概率的计算,并通过朴素贝叶斯算法通过计算出的结果来对测试集进行分类。同时,也学会了当计算出的结果为0的情况,如何利用拉普拉斯平滑技巧来进行数据的更正,并重新计算出正确的结果。

        总之,本次实验加深了我对朴素贝叶斯算法的理解,并验证了其在分类任务中的有效性。在未来的学习和研究中,我将进一步探索其他机器学习算法,以应对更复杂和多样化的实际问题。

机器学习:朴素贝叶斯 概率表示随机事件发生可能性大小的一个数值,随机事件指在相同条件下,可能出现也可能不出现的事件。抛硬币: 当我们抛硬币时,可以正面朝上也可以反面朝上,正面或反面朝上的可能性被称为概率。理想状态下正反概率都是0.5。掷骰子: 掷一个六面的骰子,每个点出现的概率是1/6,因为每个面出现的机会是均等的。抽取商品: 一批商品包含良品和次品,随机抽取一件,抽取良品或次品是一个随机事件,经过大量实验,我们可以得到一个常数,表示抽取次品的概率。 阅读详情

相关推荐

西瓜数据集读取的详细解决方案

本文主要介绍了西瓜数据集读取的详细解决方案,希望能对新手有所帮助。 文章目录 1. 数据集介绍 2. 读取详细代码 2.1 西瓜数据集1.0 2.2 西瓜数据集2.0 2.3 西瓜数据集3.0 2.4 西瓜数据集4.0

weixin_43178406的博客 5万+

基于朴素贝叶斯分类器的西瓜数据集(实战)

朴素贝叶斯分类器其实就是计算先验概率和每一个属性的条件概率,作乘积并比较,哪个大就是哪一类的,其中对离散属性做拉普拉斯修正,连续属性用概率密度函数。因此要保存每一个属性的每一个取值在每一个分类中的条件概率,比如色泽是青绿在好瓜中的条件概率。由于属性个数很多每一个属性的取值也有很多,因此要考虑冗杂的数据如何保存,这点清楚了预测时直接乘就行。我们可以用字典数组来保存离散属性的先验概率和条件概率(或连续属性的均值和方差)。给定表1中的训练数据,编程实现贝叶斯分类器算法,并为表2中测试数据进行分类;表1:训练集编号

m0_51498726的博客 8269

使用Python读取西瓜数据集的详细方法

首先,我们需要下载西瓜数据集的文件。通过以上介绍,我们可以看到,Python是一个非常强大、灵活的编程语言,它能够完成各种数据分析、机器学习任务。西瓜数据集是机器学习领域常用的数据集之一,它包含了17个属性和3个类别标签,被广泛应用于分类算法的实践中。在上面的代码中,我们去除了无用的‘编号’列,并使用了字典将‘好瓜’列中的‘是’和‘否’转化为数字。在读取西瓜数据集后,我们也可以进行一些基本的数据处理,例如去除无用的列、将字符串转化为数字等。接下来,我们需要利用Python读取下载好的西瓜数据集文件。

CyberFlare的博客 1538

西瓜书学习笔记---第四章 决策树

西瓜书学习笔记--第四章 决策树 4.3编程实现基于信息熵进行划分选择的决策树算法,并为西瓜数据集3.0中的数据生成一颗决策树。 4.4编程实现基于基尼指数进行划分选择的决策树算法,为西瓜数据集2.0生成预剪枝、后剪枝决策树,并与未剪枝决策树进行比较。 4.6选择4个UCI数据集,对上述2种算法产生的未剪枝,预剪枝,后剪枝的决策树进行实验比较,并进行适当的统计显著性检验。.........

m0_46345193的博客 6899

机器学习笔记——朴素贝叶斯算法

本笔记介绍机器学习中朴素贝叶斯算法。

haopinglianlian的博客 1511

西瓜数据集3.0-数据集

《西瓜数据集3.0——深度解析与应用》 西瓜数据集3.0是一个广泛用于数据分析和机器学习领域的宝贵资源,包含两个主要的数据文件:watermelon_3.csv 和 watermelon_3a.csv。这两个文件提供了丰富的信息,可以用于训练和评估各种算法,如分类、回归和聚类等。在本文中,我们将深入探讨这些数据集的结构、内容以及可能的应用场景。 watermelon_3.csv 和 watermelon_3a.csv 文件都是CSV格式,这是一种通用的表格数据存储格式,便于用编程语言如Python、R等进行处理。CSV文件由逗号分隔的值组成,每行代表一个样本,每一列代表一个特征或变量。在西瓜数据集中,这些特征可能包括西瓜的各种属性,如重量、颜色、纹理、产地等,这些属性是研究西瓜质量、价格或销售的关键因素。 对于watermelon_3.csv,我们可以假设它是一个基础版本,包含了对西瓜的基本属性描述。例如,可能有以下列: 1. ID:每个西瓜的唯一标识。 2. 重量:西瓜的重量,可能影响其品质和价格。 3. 颜色:西瓜皮的颜色,可能与成熟度有关。 4. 条纹:西瓜皮上的条纹模式,也可能影响品质感知。 5. 硬度:敲击西瓜时的声音硬度,有助于判断成熟度。 6. 产地:西瓜的种植地,可能影响其口感和受欢迎程度。 7. 价格:西瓜的销售价格,取决于多种因素。 8. 评分:用户或专家给出的西瓜质量评分。 而watermelon_3a.csv可能是对原始数据集的扩展或修正,可能包含了额外的特征,如湿度、糖分含量等,或者是对原有数据的补充,比如增加了更多样本以提高统计可靠性。 在实际应用中,西瓜数据集3.0可用于多个领域: 1. **机器学习模型训练**:数据集中的数值特征可以用于训练分类模型,预测西瓜的质量等级或价格范围。例如,使用决策树、随机森林、支持向量机或神经网络等算法。 2. **特征工程与选择**:通过探索数据,我们可以识别哪些特征对预测目标有最大影响,这有助于构建更高效的模型。 3. **数据可视化**:绘制散点图、箱线图或直方图,以理解不同特征之间的关系,发现潜在的模式或异常值。 4. **异常检测**:通过分析数据分布,可以发现不符合常规的西瓜属性,可能对应着质量问题或数据录入错误。 5. **市场分析**:研究产地、价格和评分的关系,为西瓜的销售策略提供依据。 6. **教育与研究**:数据集为初学者提供了一个理想的实践平台,帮助他们学习数据处理、建模和解释结果。 西瓜数据集3.0不仅是一个数据科学的实例,也是提升技能、创新思维的工具。通过深入挖掘其中的信息,我们可以了解西瓜品质的决定因素,甚至可能改进西瓜的种植、销售和评价标准。无论你是数据分析师、机器学习工程师还是科研人员,这个数据集都值得你投入时间和精力去探索

机器学习——朴素贝叶斯

贝叶斯定理是关于随机事件 A 在 B 条件下发生的概率:在贝叶斯定理中,每个名词都有约定俗成的名称:P(A|B)是已知 B 发生后 A 的条件概率P(A)是 A 的先验概率P(B|A)是已知 A 发生后 B 的条件概率2.贝叶斯的推导我们可以从条件概率的定义推导出贝叶斯定理。根据条件概率的定义,在事件 B 发生的条件下事件 A 发生的概率为同样地,在事件 A 发生的条件下事件 B 发生的概率为:结合这两个方程式,我们可以得到这个引理有时称作概率乘法规则。

qq_53142796的博客 1120

ChatGPT Windows桌面版:从安全下载到高效配置的全流程指南

WebView封装技术是将网页应用转化为独立桌面程序的核心方法,它通过嵌入浏览器内核实现跨平台功能复用。其原理在于利用Electron或Tauri等框架,将Web内容打包进原生应用外壳,同时注入系统级API调用能力。这项技术的工程价值在于显著提升了Web应用的系统集成度和用户体验,使其能够支持全局快捷键、独立进程和本地数据存储等原生特性。在AI助手深度集成工作流的应用场景中,这种封装模式解决了浏览器多标签页切换繁琐、会话管理不便等痛点。本文以ChatGPT桌面客户端为例,详细解析了基于开源项目的安全下载路径

weixin_30437847的博客 481

机器学习之朴素贝叶斯原理

机器学习之朴素贝叶斯原理

SKIp121whats112的博客 2345

SHAP图全解析:从理论到实践,教你如何读懂和优化模型特征

本文全面解析SHAP图,从博弈论基础到实战应用,指导读者如何解读和利用SHAP值优化机器学习模型。通过详解特征重要性条形图、小提琴图、依赖图及决策图等关键可视化工具,帮助数据科学家精准诊断模型、识别特征交互,并将洞见转化为特征工程与模型调试的实际行动,有效提升模型可解释性与性能。

svm4gardener的博客 188

Spring WebFlux响应式编程实战(三):优雅处理异常与高效调试技巧

本文深入探讨了Spring WebFlux响应式编程中的异常处理与调试技巧。文章通过电商订单流处理场景,详细解析了Reactor核心操作符onErrorReturn、onErrorResume和onErrorMap的实战应用,并介绍了如何构建@ControllerAdvice和WebExceptionHandler全局异常处理防线。同时,提供了使用.log()操作符、Hooks.onOperatorDebug()及BlockHound进行高效调试的方法,旨在帮助开发者构建健壮、可维护的响应式应用。

weixin_29252171的博客 65

ML机器学习算法(二): 朴素贝叶斯(Naive Bayes)

机器学习算法机器学习算法(二): 朴素贝叶斯(Naive Bayes)1.1朴素贝叶斯的介绍1.2朴素贝叶斯的应用 机器学习算法(二): 朴素贝叶斯(Naive Bayes) 1.1朴素贝叶斯的介绍 朴素贝叶斯算法(Naive Bayes, NB) 是应用最为广泛的分类算法之一。它是基于贝叶斯定义和特征条件独立假设的分类器方法。由于朴素贝叶斯法基于贝叶斯公式计算得到,有着坚实的数学基础,以及稳定的分类效率。NB模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。当年的垃圾邮件分类都是基于朴素贝叶斯分

weixin_42182413的博客 180

别再找在线API了!用C#调用微信电脑版自带的OCR,本地识别又快又准

本文详细介绍了如何利用C#调用微信电脑版内置的OCR引擎实现本地文字识别,解决传统云端API的隐私和网络依赖问题。微信OCR具备高精度中文识别、完全离线运行和零成本接入三大优势,特别适合企业文档电子化处理。通过实战代码演示了核心交互逻辑、批量处理流水线和表格数据提取等高级应用场景。

weixin_29295541的博客 588

朴素贝叶斯Naive Bayes-机器学习ML

参考: 1.《统计学习方法》李航 2.先验概率与后验概率的区别:http://blog.youkuaiyun.com/ouyang_linux007/article/details/7566339 3.朴素贝叶斯方法(Naive Bayes)原理和实现:http://blog.youkuaiyun.com/tanhongguang1/article/details/45016421#拉普拉斯平滑

Twinkle 1724

告别GitHub!手把手教你用Gitblit在Windows 10上搭建私人局域网Git服务器(附SourceTree配置)

本文详细介绍了如何在Windows 10环境下使用Gitblit搭建私有Git服务器,实现局域网内高效代码协作。通过轻量级的Gitblit解决方案,开发者可以享受数据完全自主、离线可用性和局域网高速访问等优势。文章包含从环境准备、安装部署到SourceTree配置的全流程指南,特别适合金融、医疗等敏感行业团队使用。

weixin_30430169的博客 281

16G显存+llama.cpp跑大模型的黄金配置指南

大语言模型(LLM)本地部署的核心瓶颈在于显存与推理效率的平衡。llama.cpp作为轻量级C/C++推理引擎,通过GGUF模型格式、量化压缩(如Q4_K_M)和CUDA底层优化,显著降低GPU资源需求。在消费级硬件中,16G显存成为兼顾模型能力(如Qwen3-4B、Llama-3-8B)、长上下文支持(4K token)与系统稳定性的关键阈值。它既规避了12G显存的容量焦虑,又绕开了24G高端卡的成本与散热负担,特别适合Windows 11原生环境下的生产级AI应用,如RAG、智能客服与文档分析。

weixin_32629853的博客 405

【机器学习】朴素贝叶斯

它被称为“朴素”,是因为它假设特征之间是相互独立的,这意味着给定分类的条件下,每个特征发生的概率都是独立的。当训练集中某特征值未在某个类别中出现时,P(Xi∣Y)=0P(Xi​∣Y)=0,导致整个后验概率为0。原始估计:P("viagra"∣正常)=0/100=0P("viagra"∣正常)=0/100=0。P(X∣Y):类条件概率(类别 Y 下特征 X 出现的概率)P(Y∣X):后验概率(给定特征 X 时类别 Y 的概率)P(X):边际概率(特征 X 的边缘概率):避免零概率,保持概率总和为1。

2501_90800687的博客 947

生信人填坑记 orthofinder的安装和基础使用

其中常用的有两个结果,第一个是Orthogroups文件夹下的Orthogroups.GeneCount.tsv,这个文件里保存着每个家族在每个物种里的成员数量。(写到这儿饭点到了,吃饭要紧…在国内使用conda的同学我相信很多人都会遇到-|- -|- -|- -|- -|- -|- -|- -|- 一直转圈。软件的是由很简单,将你要跑的物种的蛋白质文件放在work/data目录下,文件名都用物种缩写,后缀统一就行。当然,很多软件都会自带一个这样的文件,conda装不了的时候可以去软件官网溜达溜达。

qq_43337286的博客 5381

ml.js分类算法实战:KNN、朴素贝叶斯、SVM三大核心方法详解

欢迎来到机器学习在JavaScript中的终极指南!今天我们将深入探讨ml.js这个强大的JavaScript机器学习库,特别聚焦于三大核心分类算法:KNN、朴素贝叶斯和SVM。无论你是前端开发者想要在浏览器中实现机器学习,还是Node.js开发者寻求轻量级解决方案,ml.js都提供了完整的工具链。通过本文的实战教程,你将掌握如何使用这些算法解决实际的分类问题。 ## 为什么选择ml.js进行机

gitblog_00234的博客 481

PSM倾向性评分分析介绍、spss进行倾向性评分分析示例

PSM倾向性评分分析介绍、spss进行倾向性评分分析示例

statistics+insight+vista+power 1481

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

机器学习下的朴素贝叶斯

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、pandas是什么?二、朴素贝叶斯1.高斯朴素贝叶斯2.伯努利朴素贝叶斯3.多项式朴素贝叶斯总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。

YJ语 427

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

spark中ml机器学习库的朴素贝叶斯模型实现中文文本信息的文类预测

数据预处理原始数据如图所示,我们要提取用户的输入文本信息,即“日本件如何收费” 首先过滤掉其他不含用户输入的文本行 然后以特定字符“含中文”为切割 提取文本信息中文分词采用ansj中文分词工具,对预处理后的数据进行分词建立训练语料自定义五个类别及其标签:0 运费、1 寄件、2 人工、3 改单、4 催单、5 其他业务类。 从原数据中挑选一部分作为训练语料和测试语料 建立模型测试并保存impo

皮皮虾的博客 1417

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

机器学习sklearn-朴素贝叶斯

目录 概述 sklearn中的朴素贝叶斯 高斯朴素贝叶斯 概述 算法得出的结论,永远不是100%确定的,更多的是判断出了一种“样本的标签更可能是某类的可能 性”,而非一种“确定”。 我们通过某些规定,比如说,在决策树的叶子节点上占比较多的标签,就是叶子节点上所有 样本的标签,来强行让算法为我们返回一个固定结果。但许多时候,我们也希望能够理解算法判断出的可能性本身。 每种算法使用不同的指标来衡量这种可能性。比如说,决策树使用的就是叶子节点上占比较多的标签所占的比例(接口pr.

kongqing23的博客 2901

【机器学习】朴素贝叶斯详解

朴素贝叶斯分类alpha:拉普拉斯平滑系数。

2201_75415080的博客 1238
上一篇: 机器学习之决策树
下一篇: 机器学习之logistic回归
AstronomyFirst
博客等级 码龄4年 195粉丝 17原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值