机器学习基础算法(朴素贝叶斯、交叉验证与网格搜索)

tech2025-12-09  1

目录

朴素贝叶斯贝叶斯公式概率贝叶斯公式计算举例拉普拉斯平滑系数 朴素贝叶斯API朴素贝叶斯分类的优缺点 交叉验证与网格搜索(模型调参)交叉验证过程 网格搜索(超参数搜索)过程网格搜索API

朴素贝叶斯

使用前提:目标值的属性之间相互独立

贝叶斯公式

概率

联合概率:包含多个条件,且多个条件同时成立的概率。 记作:P(A,B)

条件概率:事件A在事件B已经发生的条件下发生的概率。 记作:P(A|B)

当A1、A2相互独立时,P(A1,A2|B)=P(A1|B)P(A2|B)

贝叶斯公式

w为给定文档的特征值(来自频数统计或由预测文档提供)c为文档类别

公式可以理解为:

P©:每个文档类别的概率(某文档类别词汇/总文档词汇)P(W|C):给定类别下特征(被预测文档中出现的词)的概率 计算方法:P(F1|C)=Ni / N Ni为该F1词在C类别所有文档中出现的次数N为所属类别C下的文档中所有词出现的次数 P(F1,F2,…):预测文档中每个词的概率

计算举例

分母项相同,暂不需要计算。

属于某一类别的计算结果为0,不合理,故引入拉普拉斯平滑系数。

拉普拉斯平滑系数

朴素贝叶斯API

sklearn.naive_bayes.MultinomialNB(alpha = 1.0) alpha:拉普拉斯平滑系数

朴素贝叶斯分类的优缺点

优点:

有稳定的分类效率算法简单,常用于文本分类准确度高,速度快 缺点:需要条件独立历史数据的准确性影响很大(先验概率)

交叉验证与网格搜索(模型调参)

交叉验证

目的:让所有数据都能够进行验证和训练,使模型更加准确可信

过程

以下图为例:将数据分成5份,其中一份作为验证集。然后经过5次测试,每次都更换不同的验证集。即得到5组模型的结果,取平均值作为最终结果。又称5折交叉验证。

网格搜索(超参数搜索)

目的:每个参数组合都会查看效果,选出效果好的参数组合

超参数:有很多参数是需要手动指定的(如KNN中的K值),这种就叫做超参数。

过程

对模型预设几种超参数组合每组超参数都采用交叉验证来进行评估最后选出最优参数组合建立模型。

网格搜索API

sklearn.model_selection.GridSearchCV(estimator, param_grid=None,cv=None) estimator:估计器对象param_grid:估计器参数(dict){“n_neighbors”:[1,3,5]}cv:指定几折交叉验证fit:输入训练数据score:准确率

结果分析:

best_score_:在交叉验证中测试的最好结果best_estimator_:最好的参数模型cv_results_:每次交叉验证后的测试集准确率结果和训练集准确率结果
最新回复(0)