【机器学习】GaussianNaiveBayes算法的调参优化

GaussianNaiveBayes算法的调参优化

简介

Gaussian Naive Bayes (GaussianNB) 是一种朴素贝叶斯分类器,它假设特征遵循高斯(正态)分布。在 sklearn 的实现中,GaussianNB 类提供了几个可调参数,虽然相对较少,但是仍然有一些选项可以帮助你微调模型的行为。以下是 GaussianNB 的主要参数:

  1. priors: 类别先验概率的数组,形状为 [n_classes]。如果未设置(默认为 None),则类别先验概率将根据训练数据中的类频率自动计算。你可以设置这个参数来指定先验概率,这在某些情况下可能会有所帮助,例如当你的训练数据不是完全平衡的时候。

  2. var_smoothing: (版本 0.20 引入)添加到每个特征的方差的拉普拉斯平滑(Laplace smoothing)的值。这是为了防止在计算过程中出现零方差的情况,导致数值不稳定。默认值是 1e-9,但你可以根据需要调整这个值来影响模型的稳定性和平滑程度。

代码

使用 GaussianNB ,对数据集load_digits做分类分析 ,调整 priors 和 var_smoothing 参数:

import numpy as np
import time
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB
from sklearn.metrics import accuracy_score, classification_report, confusion_matrix

def evaluate_model(model, X_train, y_train, X_test, y_test):
    # 记录训练时间
    start_time = time.time()
    model.fit(X_train, y_train)
    train_time = time.time() - start_time
    
    # 记录预测时间
    start_time = time.time()
    y_pred = model.predict(X_test)
    predict_time = time.time() - start_time
    
    # 计算准确率
    accuracy = accuracy_score(y_test, y_pred)
    
    # 打印结果
    print(f"Accuracy: {
     accuracy
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值