MCPcopy Create free account
hub / github.com/Dod-o/Statistical-Learning-Method_Code / model_test

Function model_test

perceptron/perceptron_dichotomy.py:102–135  ·  view source on GitHub ↗

测试准确率 :param dataArr:测试集 :param labelArr: 测试集标签 :param w: 训练获得的权重w :param b: 训练获得的偏置b :return: 正确率

(dataArr, labelArr, w, b)

Source from the content-addressed store, hash-verified

100
101
102def model_test(dataArr, labelArr, w, b):
103 '''
104 测试准确率
105 :param dataArr:测试集
106 :param labelArr: 测试集标签
107 :param w: 训练获得的权重w
108 :param b: 训练获得的偏置b
109 :return: 正确率
110 '''
111 print('start to test')
112 #将数据集转换为矩阵形式方便运算
113 dataMat = np.mat(dataArr)
114 #将label转换为矩阵并转置,详细信息参考上文perceptron中
115 #对于这部分的解说
116 labelMat = np.mat(labelArr).T
117
118 #获取测试数据集矩阵的大小
119 m, n = np.shape(dataMat)
120 #错误样本数计数
121 errorCnt = 0
122 #遍历所有测试样本
123 for i in range(m):
124 #获得单个样本向量
125 xi = dataMat[i]
126 #获得该样本标记
127 yi = labelMat[i]
128 #获得运算结果
129 result = -1 * yi * (w * xi.T + b)
130 #如果-yi(w*xi+b)>=0,说明该样本被误分类,错误样本数加一
131 if result >= 0: errorCnt += 1
132 #正确率 = 1 - (样本分类错误数 / 样本总数)
133 accruRate = 1 - (errorCnt / m)
134 #返回正确率
135 return accruRate
136
137if __name__ == '__main__':
138 #获取当前时间

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected