西瓜书:朴素贝叶斯分类器判断是否为好瓜

西瓜书习题 - 1.绪论 西瓜书第一章绪论习题 阅读详情

问题:西瓜书P151,用西瓜数据集3.0训练一个朴素贝叶斯分类器,对测试例“测1”进行分类。

 

西瓜数据集3.0如下:


    编号    色泽    根蒂    敲声    纹理    脐部    触感    密度    含糖率  好瓜 
     1   ['青绿', '蜷缩', '浊响', '清晰', '凹陷', '硬滑', '0.697','0.460','YES']
     2   ['乌黑', '蜷缩', '沉闷', '清晰', '凹陷', '硬滑', '0.774','0.376','YES']
     3   ['乌黑', '蜷缩', '浊响', '清晰', '凹陷', '硬滑', '0.634','0.264','YES']
     4   ['青绿', '蜷缩', '沉闷', '清晰', '凹陷', '硬滑', '0.608','0.318','YES']
     5   ['浅白', '蜷缩', '浊响', '清晰', '凹陷', '硬滑', '0.556','0.215','YES']
     6   ['青绿', '稍缩', '浊响', '清晰', '稍陷', '软粘', '0.403','0.237','YES']
     7   ['乌黑', '稍缩', '浊响', '清晰', '稍陷', '软粘', '0.481','0.149','YES']
     8   ['乌黑', '稍缩', '浊响', '清晰', '稍陷', '硬滑', '0.437','0.211','YES']
     9   ['乌黑', '稍缩', '沉闷', '稍糊', '稍凹', '硬滑', '0.666','0.091','NO']
     10  ['青绿', '硬挺', '清脆', '清晰', '平坦', '软粘', '0.243','0.267','NO']
     11  ['浅白', '硬挺', '清脆', '模糊', '平坦', '硬滑', '0.245','0.057','NO']
     12  ['浅白', '蜷缩', '浊响', '模糊', '平坦', '软粘', '0.343','0.099','NO']      
     13  ['青绿', '稍缩', '浊响', '稍糊', '凹陷', '硬滑', '0.639','0.161','NO']
     14  ['浅白', '稍缩', '沉闷', '稍糊', '凹陷', '硬滑', '0.657','0.198','NO']
     15  ['乌黑', '稍缩', '浊响', '清晰', '稍凹', '软粘', '0.360','0.370','NO']
     16  ['浅白', '蜷缩', '浊响', '模糊', '稍陷', '硬滑', '0.593','0.042','NO']
     17  ['青绿', '蜷缩', '沉闷', '稍糊', '稍凹', '硬滑', '0.719','0.103','NO']

测试例1如下:

    编号    色泽    根蒂    敲声    纹理    脐部    触感    密度    含糖率 
     测1   '青绿', '蜷缩', '浊响', '清晰', '凹陷', '硬滑', '0.697','0.460'

实现代码:

import numpy as np

"""
    load_data_set():
    功能:载入数据集
    输入:无
    返回:
        posting_list:数据集;(西瓜数据集3.0 ; 西瓜书p84中间图表格)
        classes_list:各属性的类别
        property_list:各个属性的属性值集合列表
"""
def load_data_set():
    #西瓜数据集3.0  西瓜书p84中间图表格
    posting_list = [
        # 色泽    根蒂    敲声    纹理    脐部    触感    密度    含糖率  好瓜 
        ['青绿', '蜷缩', '浊响', '清晰', '凹陷', '硬滑', '0.697','0.460','YES'],
        ['乌黑', '蜷缩', '沉闷', '清晰', '凹陷', '硬滑', '0.774','0.376','YES'],
        ['乌黑', '蜷缩', '浊响', '清晰', '凹陷', '硬滑', '0.634','0.264','YES'],
        ['青绿', '蜷缩', '沉闷', '清晰', '凹陷', '硬滑', '0.608','0.318','YES'],
        ['浅白', '蜷缩', '浊响', '清晰', '凹陷', '硬滑', '0.556','0.215','YES'],
        ['青绿', '稍缩', '浊响', '清晰', '稍陷', '软粘', '0.403','0.237','YES'],
        ['乌黑', '稍缩', '浊响', '清晰', '稍陷', '软粘', '0.481','0.149','YES'],
        ['乌黑', '稍缩', '浊响', '清晰', '稍陷', '硬滑', '0.437','0.211','YES'],
        
        ['乌黑', '稍缩', '沉闷', '稍糊', '稍凹', '硬滑', '0.666','0.091','NO'],
        ['青绿', '硬挺', '清脆', '清晰', '平坦', '软粘', '0.243','0.267','NO'],
        ['浅白', '硬挺', '清脆', '模糊', '平坦', '硬滑', '0.245','0.057','NO'],
        ['浅白', '蜷缩', '浊响', '模糊', '平坦', '软粘', '0.343','0.099','NO'],        
        ['青绿', '稍缩', '浊响', '稍糊', '凹陷', '硬滑', '0.639','0.161','NO'],
        ['浅白', '稍缩', '沉闷', '稍糊', '凹陷', '硬滑', '0.657','0.198','NO'],
        ['乌黑', '稍缩', '浊响', '清晰', '稍凹', '软粘', '0.360','0.370','NO'],
        ['浅白', '蜷缩', '浊响', '模糊', '稍陷', '硬滑', '0.593','0.042','NO'],
        ['青绿', '蜷缩', '沉闷', '稍糊', '稍凹', '硬滑', '0.719','0.103','NO']]

    #各属性值对应的属性列表,未用到
    classes_list = ['色泽','根蒂','敲声','纹理','脐部','触感','密度','含糖率','好瓜']

    #各个属性的属性值集合列表
    property_list = [
        '青绿','乌黑','浅白',
        '蜷缩','稍缩','硬挺',
        '浊响','沉闷','清脆',
        '清晰','稍糊','模糊',
        '凹陷','稍陷','稍凹',
        '硬滑','软粘']
    return posting_list, property_list

"""
    getNums(posting_list,col,rows,nums):
    功能:取值函数,从数据集中取出某一列(密度或者含糖率样本)多行的值,返回一维数组,及其长度
    输入:posting_list:数据集;col:所取数据集的列号;rows:所取数据集的开始行号;nums:取的数据行数;
    输出:Nums:浮点型数据列表
"""
def getNums(posting_list,col,rows,nums):

    Nums = [0] * nums
    for n in range(0,nums):
        Nums[n] = float(posting_list[rows+n][col])
    return Nums

"""
    train_naive_bayes(posting_list,property_list):
    功能:训练数据,即计算数据集的类条件概率,类先验概率
    输入:posting_list:数据集;property_list:各个属性的属性值集合构成的列表
    输出:propertyConditionalProbabilityPositive:正样本(好瓜)类条件概率
          propertyConditionalProbabilityNegative:负样本类条件概率
"""
def train_naive_bayes(posting_list,property_list):
    #总的样本数目
    trainNum = len(posting_list)
    #正样本数目
    pSampleNum = 0
    for sample in posting_list:
            if sample[-1] == 'YES':
                pSampleNum += 1
    #类先验概率
    prioClass = pSampleNum / trainNum
    #存储正样本类条件概率
    propertyConditionalProbabilityPositive = []
    propertyConditionalProbabilityNegative = []

    #通过遍历各个属性的属性值集合列表来求其属于 正/负样本的类条件概率,property_list含所有的属性值(无含糖率和密度)
    for propertyy in property_list:
        #拉普拉斯平滑,防止为0, 西瓜书p153
        #触感属性只有两个值:硬滑和软粘;拉普拉斯平滑时,该属性正/负样本数目即分母加2,其他属性正/负样本数目即其分母加3
        if (propertyy == "硬滑") or (propertyy == "软粘"):
            pSampleNumLap = pSampleNum + 2
            nSampleNumLap= trainNum - pSampleNum + 2
        else:
            pSampleNumLap = pSampleNum + 3
            nSampleNumLap = trainNum - pSampleNum + 3

        #拉普拉斯平滑,初始化为1
        posNumPropertyPositive = 1
        negNumPropertyPositive = 1

        #遍历数据集的每一个样本
        for rows in range(0,len(posting_list)):
            #如果此时的属性值在样本中
            if propertyy in posting_list[rows]:
                #如果该样本为正样本
                if posting_list[rows][-1] == 'YES':
                    #计算此属性值的正样本数目
                    posNumPropertyPositive += 1
                   
                else:
                    #计算此属性值的负样本数目
                    negNumPropertyPositive += 1
        #计算此属性值的正/负类条件概率
        propertyConditionalProbabilityPositive.append(posNumPropertyPositive / pSampleNumLap)
        propertyConditionalProbabilityNegative.append(negNumPropertyPositive / nSampleNumLap)

    #最后计算正/负样本的 密度和含糖率 的均值和标准差,添加到类条件概率的后面。为了后续通过概率密度函数计算概率
    propertyConditionalProbabilityPositive.append(np.mean(getNums(posting_list,6,0,pSampleNum)))
    propertyConditionalProbabilityPositive.append(np.var(getNums(posting_list,6,0,pSampleNum))**(1/2))

    propertyConditionalProbabilityNegative.append(np.mean(getNums(posting_list,6,pSampleNum,trainNum - pSampleNum)))
    propertyConditionalProbabilityNegative.append(np.var(getNums(posting_list,6,pSampleNum,trainNum - pSampleNum))**(1/2))

    propertyConditionalProbabilityPositive.append(np.mean(getNums(posting_list,7,0,pSampleNum)))
    propertyConditionalProbabilityPositive.append(np.var(getNums(posting_list,7,0,pSampleNum))**(1/2))

    propertyConditionalProbabilityNegative.append(np.mean(getNums(posting_list,7,pSampleNum,trainNum - pSampleNum)))
    propertyConditionalProbabilityNegative.append(np.var(getNums(posting_list,7,pSampleNum,trainNum - pSampleNum))**(1/2))
    #方差标准差装进类条件概率列表中,大致如下:
    # [青绿的正类条件概率,乌黑的正类条件概率,浅白的正类条件概率,蜷缩的正类条件概率,'稍缩的正类条件概率,硬挺的正类条件概率,
    #  浊响的正类条件概率,沉闷的正类条件概率,清脆的正类条件概率,清晰的正类条件概率,稍糊的正类条件概率,模糊的正类条件概率,
    #  凹陷的正类条件概率,稍陷的正类条件概率,稍凹的正类条件概率,硬滑的正类条件概率,软粘的正类条件概率,
    #  正类别的密度的均值,正类别的密度方差,
    #  正类别的含糖率均值,正类别的含糖率方差]
    return propertyConditionalProbabilityPositive,propertyConditionalProbabilityNegative

"""
    classify_naive_bayes(data,propertyConditionalProbabilityPositive,property_list,propertyConditionalProbabilityNegative):
    功能:求正负类别的概率,返回1或者0, 1表示为正样本
    输入:data:想要测试的数据,格式见底部说明。propertyConditionalProbabilityPositive正类条件概率;propertyConditionalProbabilityNegative负类条件概率
    输出:返回1或者0;其中1代表正样本(好瓜),0代表负样本
"""
def classify_naive_bayes(data,propertyConditionalProbabilityPositive,property_list,propertyConditionalProbabilityNegative):
    probabilityPos = 0
    probabilityNeg = 0
    #遍历测试数据的属性, 其密度和含糖率不在循环中计算
    for propertyData in data[:-1]:
        if propertyData in property_list:
            #取该属性的下标
            index = property_list.index(propertyData)
            #取该属性值的正/负样本类条件概率 值,并取对数,然后加起来来求正负样本各自的概率。 取对数为了防止下溢,将乘法转为加法计算。
            probabilityPos += np.log(propertyConditionalProbabilityPositive[index])
            probabilityNeg += np.log(propertyConditionalProbabilityNegative[index])

    #对于连续属性密度和含糖率,通过概率密度函数计算其属于正/负样本的概率。西瓜书p151
    probabilityPos += np.log(((2 * np.pi  ) ** (-1 / 2) * propertyConditionalProbabilityPositive[-4]) ** (-1)) + (-1/2)*((float(data[-2])- propertyConditionalProbabilityPositive[-4]) ** 2) / (propertyConditionalProbabilityPositive[-3] ** 2)
    probabilityPos += np.log(((2 * np.pi  ) ** (-1 / 2) * propertyConditionalProbabilityPositive[-2]) ** (-1)) + (-1/2)*((float(data[-1])- propertyConditionalProbabilityPositive[-2]) ** 2) / (propertyConditionalProbabilityPositive[-1] ** 2)
    probabilityNeg += np.log(((2 * np.pi  ) ** (-1 / 2) * propertyConditionalProbabilityNegative[-4]) ** (-1)) + (-1/2)*((float(data[-2])- propertyConditionalProbabilityNegative[-4]) ** 2) / (propertyConditionalProbabilityNegative[-3] ** 2)
    probabilityNeg += np.log(((2 * np.pi  ) ** (-1 / 2) * propertyConditionalProbabilityNegative[-2]) ** (-1)) + (-1/2)*((float(data[-1])- propertyConditionalProbabilityNegative[-2]) ** 2) / (propertyConditionalProbabilityNegative[-1] ** 2)

    #对算出来的正负概率进行比较,大的为正样本
    if probabilityPos > probabilityNeg:
        return 1
    else:
        return 0

if __name__ == "__main__":
    #载入数据
    posting_list,property_list= load_data_set()
    #预训练
    propertyConditionalProbabilityPositive,propertyConditionalProbabilityNegative = train_naive_bayes(posting_list,property_list)

    #朴素贝叶斯求类别

    #输入数据集中前两个负样本例子
    data = ['青绿', '蜷缩', '浊响', '清晰', '凹陷', '硬滑', '0.697','0.460']
    result = classify_naive_bayes(data,propertyConditionalProbabilityPositive,property_list,propertyConditionalProbabilityNegative)
    print('is it  the good melon : {}'.format(result))

    data = ['乌黑', '蜷缩', '沉闷', '清晰', '凹陷', '硬滑', '0.774','0.376']
    result = classify_naive_bayes(data,propertyConditionalProbabilityPositive,property_list,propertyConditionalProbabilityNegative)
    print('is it  the good melon : {}'.format(result))

    #输入数据集中前两个负样本例子
    data = ['乌黑', '稍缩', '沉闷', '稍糊', '稍凹', '硬滑', '0.666','0.091']
    result = classify_naive_bayes(data,propertyConditionalProbabilityPositive,property_list,propertyConditionalProbabilityNegative)
    print('is it  the good melon : {}'.format(result))

    data = ['青绿', '硬挺', '清脆', '清晰', '平坦', '软粘', '0.243','0.267']
    result = classify_naive_bayes(data,propertyConditionalProbabilityPositive,property_list,propertyConditionalProbabilityNegative)
    print('is it  the good melon : {}'.format(result))

    #西瓜书p151 列子
    data = ['青绿', '蜷缩', '浊响', '清晰', '凹陷', '硬滑', '0.697','0.460']
    result = classify_naive_bayes(data,propertyConditionalProbabilityPositive,property_list,propertyConditionalProbabilityNegative)
    print('is it  the good melon : {}'.format(result))


#输入data的 格式: 
#如 ['青绿', '蜷缩', '浊响', '清晰', '凹陷', '硬滑', '0.697','0.460'] 

#每个属性类别及其可选范围如下:
#色泽: '青绿','乌黑','浅白',
#根蒂: '蜷缩','稍缩','硬挺',
#敲声: '浊响','沉闷','清脆',
#纹理: '清晰','稍糊','模糊',
#脐部: '凹陷','稍陷','稍凹',
#触感: '硬滑','软粘'
#密度: (0,1)
#含糖率: (0,1)

输出结果:

is it  the good melon : 1
is it  the good melon : 1
is it  the good melon : 0
is it  the good melon : 0
is it  the good melon : 1

机器学习(四)朴素贝叶斯 朴素贝叶斯1.朴素贝叶斯概述1.1 条件概率1.2 全概率公式1.3 贝叶斯推论2.朴素贝叶斯分类器应用3.使用朴素贝叶斯过滤垃圾邮件3.1 准备数据:切分文本3.2 测试算法:使用朴素贝叶斯进行交叉验证4. 实验小结 1.朴素贝叶斯概述 贝叶斯分类算法是统计学的一种分类方法,它是一类利用概率统计知识进行分类的算法。在许多场合,朴素贝叶斯(Naïve Bayes,NB)分类算法可以与决策树和神经网络分类算法相媲美,该算法能运用到大型数据库中,而且方法简单、分类准确率高、速度快。 那么,什么是贝叶斯算法呢?这 阅读详情

相关推荐

机器学习-朴素贝叶斯分类算法(java,判断西瓜好坏案例)

概率论和高中数学都学习过贝叶斯公式来计算条件概率,A发生下B发送的概率这种题,比较熟悉。朴素贝叶斯分类算法或许和这个有点关系吧… 原文链接 1、贝叶斯原理 “逆向概率”:相对“正向概率”而言,正向概率就像是一个袋子各种颜色球然后摸求概率这种问题,上帝视角解决问题。而大多数我们需要解决的问题确不能在上帝视角解决的。于是贝叶斯提出这样一个问题:不知道袋中白球和黑球的个数,而是通过摸出球的颜色来判断带中白球和黑球个数的比例 贝叶斯公式 P(A|B) = (P(B|A) * P(A))/ P(B) 2、朴素贝叶.

qq_35210105的博客 6914

机器学习:基于朴素贝叶斯的西瓜分类实践

深入理解了朴素贝叶斯分类器的核心原理,掌握了贝叶斯定理在分类任务中的应用。​学会了处理混合类型特征(离散 + 连续):离散特征采用拉普拉斯平滑避免概率为 0,连续特征通过高斯分布拟合概率密度。掌握了面向对象的编程思想,将分类器封装为类,提高了代码的复用性和可读性。​。

2402_88098213的博客 975

朴素贝叶斯分类器——matlab实现

朴素贝叶斯分类对——matlab实现 根据西瓜数据集判断某个西瓜是不是好瓜: 本次实验是针对以上17行数据为训练数据,以及题目要求的1行数据为训练数据。实验源自于周志华的西瓜书,对于西瓜数据集3.0训练一个朴素贝叶斯分类器可参考:朴素贝叶斯分类MATLAB实现 我的实验首先将data.txt文件内的数据导入matlab中的元胞数组中: 前17行为训练数据集最后一行为测试数据集: 加载数据代码...

墨夜之枫的博客 1万+

以判定好瓜和坏瓜为例使用Python实现机器学习算法:朴素贝叶斯

基于简单的西瓜数据集,使用Bayes分类器对西瓜进行分类,直接上代码,具体的解释在代码中都注释了。 import numpy as np import pandas as pd class NaiveBayes(): def __init__(self,X,y): self.X = X self.y = y def nb_fit(self,X,y): #通过unique方法来提取分类的种类 #在这个案例中,y只有两类1和-1,在其他的案例中,可能会有多分类标签 classes =

weixin_41855010的博客 7090

朴素贝叶斯——在西瓜数据集上的应用

朴素贝叶斯分类是一种基于贝叶斯定理和特征条件独立假设的监督学习分类算。它广泛应用于文本分类、垃圾邮件过滤、情感分析等领域。本文将通过一个简单的西瓜数据集为例,介绍朴素贝叶斯分类算法的基本原理和实现过程。

fjstjsjg的博客 3718

机器学习-朴素贝叶斯分类器

贝叶斯分类器是一种基于贝叶斯定理的概率模型,常用于文本分类、垃圾邮件过滤、情析等任务。该分类器基于特征之间的条件独立性假设,即给定类别下特征之间相互独立。它的工作原理是通过计算给定特征条件下类别的概率,并选择具有最高概率的类别作为预测结果。在本次的实验中,主要涉及朴素贝叶斯分类器,朴素贝叶斯分类器,它假设每个特征对于类别的影响是相互独立的,即使这在实际情况中并不成立。常见的朴素贝叶斯分类器包括多项式朴素贝叶斯、伯努利朴素贝叶斯和高斯朴素贝叶斯,它们分别适用于不同类型的特征分布。

m0_74216325的博客 2090

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

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

m0_51498726的博客 8269

使用CAPL实现DoIP刷写

本文介绍了使用CAPL实现基于DoIP协议的ECU刷写方法,包含完整源码。

qq_56033302的博客 2761

【机器学习】周志华西瓜书第七章贝叶斯分类器习题--实现拉普拉斯修正的朴素贝叶斯分类器,以西瓜数据集3.0为训练集,对“测1”进行判别

【机器学习】实现拉普拉斯修正的朴素贝叶斯分类器,以西瓜数据集3.0为训练集,对“测1”进行判别。

m0_53700832的博客 2125

C语言 在合并编译 ( 多.c文件 ) 情况下 实现 linked list ( 链表 ) 教程 . 更新ing

写在前面  依旧是参考借鉴了 浙江大学 温老师 的视频教程,很不错,在中国大学MOOC上,强力推荐!  虽说有借鉴,但是能保证的是每一行代码都是我自己经过理解后手敲出来的,所以才来做了这部分的教程。  最后,带 * 字符是我个人觉得可以添加的功能,按理来讲是可以不看的,而且大概率是可以有更好的改进的。  PS: 文章还在更新,如果文字蓝了(有超链接),说明写完了,如果没蓝,说明我在开军舰.jpg 源代码:  这里→源代码. 第一步:前置工作  先说一下每一篇都会出现 main 函数的,stage1 只是给没

weixin_47287635的博客 527

Typora绘制思维导图

我们观察一下,其实思维导图就是树状结构的数据嘛,作为程序员,拿语言写树状结构的数据是很平常的事情。而且写代码可比画图省事多了,查阅资料可以知道,有一种`mermaid`语法,就是做这件事情的,支持 UML,甘特图,流程图等。

Peter Cheung的博客 7933

西瓜书课后题7.3(拉普拉斯修正的朴素贝叶斯分类器)

题目 试编程实现拉普拉斯修正的朴素贝叶斯分类器,并以西瓜数据集3,.0为训练集,对P.151“测1”样本进行判别。 编号 | 色泽 | 根蒂 | 敲声 | 纹理 | 脐部 | 触感 | 密度 | 含糖率 | 好瓜 -| :-: | -: 测1 | 青绿 | 蜷缩 | 浊响 | 清晰 | 凹陷 | 硬滑 | 0.697 | 0.460 | ? 原理 ...

Dou 1万+

Win10环境下VS2019离线部署OnnxRuntime的完整指南

本文提供了在Windows 10系统下,为Visual Studio 2019进行OnnxRuntime离线部署的完整教程。针对网络受限环境,详细讲解了如何获取正确的离线安装包、配置本地NuGet源,并逐步指导项目配置与测试,确保AI模型在C++环境中顺利运行。

weixin_29205061的博客 401

基于朴素贝叶斯分类器的西瓜好坏判断

本文详细介绍了朴素贝叶斯分类器的理论原理,并使用 Python 代码实现了对西瓜好坏的判断。在实验过程中,我们遇到了零概率和数值下溢等问题,并通过拉普拉斯平滑等方法进行了解决。实验结果表明,朴素贝叶斯分类器能够在一定程度上对西瓜进行分类,但由于特征独立性假设的限制,其分类效果可能会受到影响。在实际应用中,我们可以根据具体情况选择合适的分类算法,并对数据进行预处理和特征工程,以提高分类的准确性。

2301_80657107的博客 1973

一文带你了解SOA接口测试

了解汽车电子行业的人,近几年可能经常见到一个词“SOA”,那SOA具体是什么?作为测试人员应该要测试哪些内容呢?这篇文章就简单给大家介绍一下。SOA(Service Oriented Architecture)是一种面向服务的架构,最早应用于IT行业,虽然行业内对于SOA的定义没有一个统一的描述,但是总体而言,SOA把功能定义成为服务,服务带有明确的可调用接口,并可以通过网络调用。在汽车领域,对于高性能计算平台而言,为了实现域控制器以及区域控制器之间的互联互通和软硬分离、缩短开发周期等优势,也引入了SOA的

怿星科技的博客 7156

【保姆级】联想服务器 Ubuntu 装机:RAID 0/1/5/10 从原理到配置(新手也能一次成)

联想服务器RAID配置指南:Ubuntu系统适配方案 摘要: 联想服务器采用LSI MegaRAID硬件控制器,支持RAID0/1/10/5四种阵列模式。RAID0提供最高性能但无冗余,适合临时数据;RAID1完全镜像确保数据安全,推荐用于系统盘;RAID10兼顾性能与冗余,适合数据库等高要求场景;RAID5平衡容量与成本,适用于文件服务器。配置可通过本地BIOS(Ctrl+R)或XCC远程管理完成,Ubuntu安装时可自动识别虚拟磁盘。注意事项包括:使用同型号硬盘、监控重建进度、避免SSD与机械盘混用等。

2501_93651177的博客 489

机器学习 Python 西瓜书 拉普拉斯修正的朴素贝叶斯分类器

文章目录1. 贝叶斯公式1.1 先验概率和后验概率1.2 贝叶斯公式2. 代码实现西瓜书2.1 数据来源与处理 1. 贝叶斯公式 1.1 先验概率和后验概率 先验概率:由以往的数据分析得到的概率,P(A)是A的先验概率或边缘概率 后验概率:在得到信息之后再重新加以修正的概率,P(A|B)是已知B发生后A的条件概率,也由于得知B的取值而被称为A的后验概率。 1.2 贝叶斯公式 2. 代码实现西...

qq_35221036的博客 4213

手把手教你安装 OpenClaw 小龙虾(MAC安装教程),一次成功不踩坑

本文详细介绍了在Mac上安装OpenClaw的完整流程。主要内容包括:1)准备工作(磁盘空间、网络环境、终端工具);2)安装Homebrew包管理器及常见问题解决;3)安装Node.js 22+版本(环境核心);4)Git安装与验证;5)OpenClaw项目克隆、依赖安装及运行配置;6)大模型配置方法(以MiniMax为例)。文章提供了详细的命令行操作步骤和常见错误解决方案,特别强调了网络环境要求和Apple Silicon芯片的原生支持注意事项。最后展示了验证配置成功的方法和资源获取渠道。

Chengbei11的博客 6342

朴素贝叶斯西瓜分类器

dataSet=[['青绿', '蜷缩', '浊响', '清晰', '凹陷', '硬滑', 0.697, 0.460, '好瓜'],['乌黑', '蜷缩', '沉闷', '清晰', '凹陷', '硬滑', 0.774, 0.376, '好瓜'],['乌黑', '蜷缩', '浊响', '清晰', '凹陷', '硬滑', 0.634, 0.264, '好瓜'],['青绿', '蜷缩', '沉闷', '清晰', '凹陷', '硬滑', 0.608, 0.318, '好瓜'],

2301_80974345的博客 1978

【AUTOSAR OS】调度表管理模块深度解析

本文深入解析AUTOSAR OS调度表的实现机制。调度表通过预定义到期点序列控制任务激活时序,支持周期性执行、多核协同和容错处理。核心数据结构包括调度表控制块(STCB)、配置结构和到期点动作。关键函数涵盖初始化、启动、到期点处理及链表管理,采用O(n)时间复杂度。以发动机控制为例展示配置与使用方式,并探讨显式同步、时间容错等高级特性。最后提出EP数量控制、链表优化等性能建议,为汽车ECU时间触发系统开发提供参考。

1607

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

一起学西瓜书07 贝尔斯分类器(三)朴素贝叶斯分类器

一起学西瓜书07 贝尔斯分类器 (三)贝叶斯分类器 朴素贝叶斯分类器 朴素贝叶斯分类器用到的知识就是我们在概率论里面学到的贝叶斯公式 这里的前提是属性条件都相互独立, 也就是说我们可以把它们连乘起来 下图给出了朴素贝叶斯分类器的求解关键,我将使用书上的一个实际案例来分析理解它 案例 下图是我们已知的西瓜数据集,也来源于西瓜书 我们的目的是使用朴素贝叶斯分类器来判断下列这组测试数据的结果是不是好瓜 结合之前的求解关键,我将一步一步来解析这个过程是怎么进行的 0.数据类比 下图是书上的原话, 在这个案例

Weary_PJ的博客 1823

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

西瓜书课后题——第七章(贝叶斯分类器)

课后题7.1:极大似然估计西瓜数据集3.0前3个属性的类条件概率。 其实就是概率论中常见的极大似然估计问题。 参见这篇博客:https://blog.youkuaiyun.com/icefire_tyh/article/details/52167273 课后题7.3:编程实现拉普拉斯修正的朴素贝叶斯分类器。 原理和公式书上均有详细的说明,这里直接给出代码: import numpy as np i...

qq_37691909的博客 6454

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

用朴素贝叶斯分类器判断西瓜好坏

我们手头有一份西瓜数据集(参考第一张图片内容),它包含了西瓜的多个特征信息,如色泽、根蒂、敲声、纹理、脐部、触感、密度、含糖率,以及最重要的标签 —— 是否为好瓜。同时,还有一个测试样本,我们的任务就是利用朴素贝叶斯分类器,根据已有数据集来判断这个测试样本是好瓜还是坏瓜。通过上述代码,我们成功地利用朴素贝叶斯分类器对测试西瓜样本进行了好坏判断。在实际应用中,朴素贝叶斯分类器在文本分类、垃圾邮件过滤、情感分析等众多领域都有着广泛的应用。当然,本文的实现过程中对于连续型特征的处理进行了简化。

perkz10086的博客 1025

机器学习—朴素贝叶斯代码实现—西瓜书3.0

代码实现西瓜分类,我们先上数据: 我的编程实现过程非常杂糅,没有系统,而且我的python也没学多久,所以用的都是简单的循环、函数。在编程过程中,我把色泽变量记为x1,根蒂记为x2,敲声记为x3,纹理记为x4,脐部记为x5,触感记为x6,密度记为x7,含糖率记为x8,是否为好瓜这一名义变量记好瓜为0,坏瓜为1。 接下来,我们引入一些有关朴素贝叶斯算法的基础知识: 首先是计算先验概率: 在实际编程过程中我直接使用拉普拉斯平滑,取λ=1\lambda=1λ=1 则先验概率为 Pλ(Y=ck)=∑i=1NI(y

everybody hates me的博客 3539

朴素贝叶斯python代码实现(西瓜书)

朴素贝叶斯python代码实现(西瓜书) 摘要: 朴素贝叶斯也是机器学习中一种非常常见的分类方法,对于二分类问题,并且数据集特征为离散型属性的时候, 使用起来非常的方便。原理简单,训练效率高,拟合效果好。 朴素贝叶斯 贝叶斯公式: 朴素贝叶斯之所以称这为朴素,是因为假设了各个特征是相互独立的,因此假定下公式成立: 则朴素贝叶斯算法的计算公式如下: 在实际计算中,上面的公式会做如下略...

weixin_30371875的博客 2525
上一篇: imagenet-vgg-verydeep-19.mat查看
下一篇:  决策树可视化Program terminated with status: 1. stderr follows: Format: “png“ not recognized. Use one of:
Alocus_
Alocus_ 新星创作者: 人工智能技术领域 新星创作者: 人工智能技术领域
博客等级 码龄9年 2万+粉丝 184原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alocus_

如果我的内容帮助到你,打赏我吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值