数据读取与划分
参数估计
请你在仅使用 numpy/pandas 的前提下,手写实现高斯朴素贝叶斯(Gaussian Naive Bayes,GNB),并对给定测试样本输出类别预测。具体流程:
1.读取数据
train 字段:二维列表,每行最后一列为类别标签 y∈ {0,1},其余为数值特征
test 字段:二维列表,仅包含与训练集同维度的特征
2.参数估计
对每个类别 c 计算先验 πc=NNc
对每个特征计算类条件独立假设下的 均值 μcj 与方差 σcj2 (总体方差 ddof=0;若方差为 0 ,令 σcj2=1e−9)
3.预测
4.结果输出
标准输入为 一行 JSON。
n 行训练样本,m 维特征,最后一列为标签
所有值均为浮点数/整数,无额外空行
标准输出仅含一行:即测试集中每个样本的预测标签(整数),使用单行 JSON数组表示。
1.流程无需随机数;若实现中使用随机过程,必须固定为 np.random.seed(42)。
2.为确保通过全部测试用例,请使用仅 Numpy 与 Pandas 库实现本题。
3.计算方差使用总体力差 (np,var( ...doof=0))。
4.方差为 0 的特征设为 1e−9 防止除零。
输入
{"train": [[1,1,0],[1,1,0],[4,4,1],[4,2,1]], "test": [[1,1],[4,4]]}
输出
[0,1]