机器学习算法-朴素贝叶斯(二):模拟离散数据集--贝叶斯分类(代码附详细注释)

本文介绍了如何使用朴素贝叶斯算法处理离散数据集,通过四个步骤——库函数导入、数据导入分析、模型训练与预测、随机数据测试,展示了贝叶斯分类器的实现过程,并验证了其准确率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

step 1:库函数导入

import random
import numpy as np
# 使用基于类目特征的朴素贝叶斯
from sklearn.naive_bayes import CategoricalNB
from sklearn.model_selection import train_test_split

step 2:数据导入和分析

# 模拟数据
rng = np.random.RandomState(1) #随机数生成种子设置为“1”,确保别人和我自己的生成数字相同
# 随机生成600个100维的数据,每一维的特征都是[0, 4]之前的整数
X = rng.randint(5, size=(600, 100)) #相当于X=rng.randint(0,5, size=(600, 100)) ,其中0为最小值,(5-1)即4为最大值.
y = np.array([1, 2, 3, 4, 5, 6] * 100) #y是一维数据,shape为[600],其中1,2,3,4,5,6各有100个,并按顺序排列
data = np.c_[X, y] #把x和y进行配对,配对完成后data的shape为[600, 101],也就是在x的第二个维度增加了一列,作为每一行数据类别的label

random.shuffle(data) # X和y进行整体打散
X = data[:,:-1] #相当于x = data[:,0:-1],表示第一维度取完,第二维度出最后一列外取完
y = data[:, -1] # 表示第一维度取完,第二维度只取最后一列
X_train, X_test, y_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值