def bayers(X_TRAIN, Y_TRAIN, X_TEST, Y_TEST): print('======================开始Bayes模型训练:======================') # 训练保存模型 nb = BernoulliNB() model = nb.fit(X_TRAIN, Y_TRAIN) # 训练模型 joblib.dump(filename=BAYERS_PATH, value=model) # 开始预测 y_predict = model.predict(X_TEST) # 计算精准率、召回率、F1分数 precision = precision_score(Y_TEST, y_predict) recall = recall_score(Y_TEST, y_predict) f1mean = f1_score(Y_TEST, y_predict) print('精确率为:%0.5f' % precision) print('召回率:%0.5f' % recall) print('F1均值为:%0.5f' % f1mean) path = './picture/bayers.png' title = 'Bayers Confusion Matrix' # 绘制混淆矩阵 plt_confusion_matrix(path, Y_TEST, y_predict, title) # 计算AUC和ROC fpr, tpr, thresholds_keras = roc_curve(Y_TEST, y_predict) Auc = auc(fpr, tpr) print("AUC : ", Auc) FPR.append(fpr) TPR.append(tpr) AUC.append(Auc)
时间: 2023-08-07 19:08:17 浏览: 202
naive_bayers.zip_8MJ_bayes_朴素贝叶斯_贝叶斯_贝叶斯预测
这段代码定义了一个名为 "bayers" 的函数,该函数接受四个参数:X_TRAIN、Y_TRAIN、X_TEST 和 Y_TEST,用于训练和测试朴素贝叶斯模型。函数首先创建一个 BernoulliNB 类型的朴素贝叶斯分类器,并使用 X_TRAIN 和 Y_TRAIN 训练该模型。接着,使用 joblib 库将训练好的模型保存到文件系统中。然后,使用测试数据 X_TEST 对模型进行预测,预测结果保存在 y_predict 变量中。函数接着计算精度、召回率和 F1 分数,并输出这些评价指标。接着,函数使用 plt_confusion_matrix 函数绘制混淆矩阵,并将混淆矩阵保存到指定的路径中。最后,函数计算 AUC 和 ROC,将它们保存到 FPR、TPR 和 AUC 列表中,并输出 AUC 值。
阅读全文