对测试集进行测试 :param Py: 先验概率分布 :param Px_y: 条件概率分布 :param testDataArr: 测试集数据 :param testLabelArr: 测试集标记 :return: 准确率
(Py, Px_y, testDataArr, testLabelArr)
| 74 | |
| 75 | |
| 76 | def model_test(Py, Px_y, testDataArr, testLabelArr): |
| 77 | ''' |
| 78 | 对测试集进行测试 |
| 79 | :param Py: 先验概率分布 |
| 80 | :param Px_y: 条件概率分布 |
| 81 | :param testDataArr: 测试集数据 |
| 82 | :param testLabelArr: 测试集标记 |
| 83 | :return: 准确率 |
| 84 | ''' |
| 85 | #错误值计数 |
| 86 | errorCnt = 0 |
| 87 | #循环遍历测试集中的每一个样本 |
| 88 | for i in range(len(testDataArr)): |
| 89 | #获取预测值 |
| 90 | presict = NaiveBayes(Py, Px_y, testDataArr[i]) |
| 91 | #与答案进行比较 |
| 92 | if presict != testLabelArr[i]: |
| 93 | #若错误 错误值计数加1 |
| 94 | errorCnt += 1 |
| 95 | #返回准确率 |
| 96 | return 1 - (errorCnt / len(testDataArr)) |
| 97 | |
| 98 | |
| 99 | def getAllProbability(trainDataArr, trainLabelArr): |
no test coverage detected